“x”是此函数的无效关键字参数

2024-04-19 01:36:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着写一些东西来检查一个整数(z)是否在x和y的范围内,x是最小值,y是最大值。我通过检查z是否小于最小值或大于最大值来实现这一点。如果其中任何一个是真的,它返回无效,否则它确认它。检查值的最大值、最小值和数量由原始输入确定。代码如下:

int(x = raw_input('x:\n')) #max number
int(y = raw_input('y:\n')) #min number
int(z = raw_input('z:\n')) #number to check.
if z < y:
    print 'invalid.'
elif z > x :
    print 'invalid.'

我可以很好地输入x值,但当我尝试输入y值时,会出现以下错误:

Traceback (most recent call last):
  File "C:/Python27/random/bark", line 2, in <module>
    int(y = raw_input('y:\n')) #min number
TypeError: 'y' is an invalid keyword argument for this function

我不知道我做错了什么,我已经问了其他地方没有答案。


Tags: to代码numberinput数量rawifcheck
4条回答

取而代之的是:

int(x = raw_input('x:\n')) #max number

试试这个:

x = int(raw_input('x:\n')) #max number

对于其他输入语句也是如此。

内置Python函数raw_input()“从输入中读取一行,并将其转换为字符串”。为了使用输入作为整数,需要借助于int()函数将string转换为int,该函数将“字符串或数字转换为纯整数”。从你的代码看来,你有基本的想法,但你的语法有点混乱。

取而代之的是:

int(x = raw_input('x:\n')) #max number

试试这个:

x = int(raw_input('x:\n')) #max number

对于其他输入语句也是如此。

内置Python函数raw_input()“从输入中读取一行,并将其转换为字符串”。为了使用输入作为整数,需要借助于int()函数将string转换为int,该函数将“字符串或数字转换为纯整数”。从您的代码来看,您似乎有基本的想法,但您的语法有点混乱。

与C不同,Python赋值语句不能用作参数中的表达式。

例如,以下内容不合法,将导致SyntaxError

if name = name + 1:
    pass

在本例中,接收TypeError而不是SyntaxError的原因是Python的关键字参数特性。Python允许您将命名参数传递给以下形式的函数:foo(arg1=0, second_argument="hello")。因此翻译认为这就是你要做的。

您接收到的错误消息是Python解释器认为您正在将关键字参数传递给int()的结果。int()当然,不接受关键字参数“x”(或“y”或“z”,因此出错。你应该这样做:

x = int(raw_input("x:\n"))
y = int(raw_input("y:\n"))
z = int(raw_input("z:\n"))

试试这个

x,y,z, = int(raw_input("x:")),int(raw_input("y:")),int(raw_input("z:"))

这是输出

>>> x,y,z, = int(raw_input("x:")),int(raw_input("y:")),int(raw_input("z:"))
x:5
y:6
z:7
>>> x
5
>>> y
6
>>> z
7

相关问题 更多 >