Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';x';此函数的关键字参数无效_Python_Python 2.7 - Fatal编程技术网

Python ';x';此函数的关键字参数无效

Python ';x';此函数的关键字参数无效,python,python-2.7,Python,Python 2.7,我试图写一些东西来检查一个整数(z)是否在x和y的范围内,x是最小值,y是最大值。我通过检查z是小于最小值还是大于最大值来实现这一点。如果其中任何一个为真,则返回invalid,否则将确认它。检查值的最大值、最小值和数量由原始输入确定。代码如下: 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)是否在x和y的范围内,x是最小值,y是最大值。我通过检查z是小于最小值还是大于最大值来实现这一点。如果其中任何一个为真,则返回invalid,否则将确认它。检查值的最大值、最小值和数量由原始输入确定。代码如下:

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.'
int(x=原始输入('x:\n'))#最大数量
int(y=原始输入('y:\n'))#最小值
int(z=原始输入('z:\n'))#要检查的编号。
如果zx:
打印“无效”
我可以很好地输入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
回溯(最近一次呼叫最后一次):
文件“C:/Python27/random/bark”,第2行,在
int(y=原始输入('y:\n'))#最小值
TypeError:“y”是此函数的无效关键字参数
我不知道我做错了什么,我在别处问过,没有回答。

取而代之的是:

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

x = int(raw_input('x:\n')) #max number
x,y,z = (int(raw_input(var+':')) for var in "xyz")
与其他输入语句类似

内置Python函数“从输入中读取一行,将其转换为字符串”。为了将输入用作整数,需要借助将“字符串或数字转换为普通整数”的函数将
字符串
转换为
int
。从你的代码看,你似乎有了基本的想法,但你的语法有点混乱

试试这个

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

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

例如,以下内容根本不合法,将导致出现
语法错误

if name = name + 1:
    pass
在本例中,您收到的是
TypeError
而不是
SyntaxError
,这是因为Python的关键字参数特性。Python允许您以如下形式向函数传递命名参数:
foo(arg1=0,second_argument=“hello”)
。因此,口译员认为这就是你想要做的

您收到的错误消息是Python解释器认为您正在将关键字参数传递给
int()
<当然,code>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(var+':')) for var in "xyz")

(其工作原理与Joran Beasley的版本相同)

python赋值不返回值。。。它认为调用int时使用的命名参数x不是allowed@user1524840:有关详细解释,请参阅我的答案。@user1524840很高兴我能提供帮助-我还为您添加了一些额外的解释,以防您感到好奇。