Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 i是此函数的无效关键字_Python_Python 3.x - Fatal编程技术网

Python i是此函数的无效关键字

Python i是此函数的无效关键字,python,python-3.x,Python,Python 3.x,所以,对于学校来说,我们必须做一个程序,允许用户猜测一个数字。我有以下代码: import random my_number=random.randrange(100) player_number=605 i=int(0) while player_number!=my_number : player_number=int(input("Guess what number I am thinking of :")) if player_number<my_number:

所以,对于学校来说,我们必须做一个程序,允许用户猜测一个数字。我有以下代码:

import random

my_number=random.randrange(100)
player_number=605
i=int(0)
while player_number!=my_number :
    player_number=int(input("Guess what number I am thinking of :"))
    if player_number<my_number:
        print("Too low")
    else:
        print("Too high")
    print("... Attemp", i=i+1) 
print("Right")
随机导入
my_number=random.randrange(100)
玩家号=605
i=int(0)
而玩家的号码=我的电话号码:
player_number=int(输入(“猜猜我在想什么数字:”)
如果玩家编号你的问题在这里:

print("... Attemp", i=i+1) 
print
函数接受任意数量的位置参数和一小组关键字参数,格式为
x=…

i
不在允许的关键字参数集中

也许你的意思是:

print("... Attempt",i)
i += 1
Python有一个“命名参数”功能:当您可以通过名称传递参数时,以及

print("... Attemp", i=i+1) 

就是这样做的:这里的第一个
i
成为传递给
print
的参数的名称,但是
print
不理解这样的命名参数

不确定您正试图做什么,但赋值是Python中的语句,而不是表达式,因此您不能在
print
中使用它。我猜你想这么做

print("Attempt", i)
i = i+1

此错误来自以下行:

print("... Attemp", i=i+1)
据我所知,您正在尝试在其他语言中执行类似于
I++
的操作,在这些语言中,您都递增
I
并返回递增之前的值

在Python中,无法执行此操作,请将其放在单独的行中:

print("... Attemp", i)
i += 1
错误是因为函数调用中的
name=value
是用于指定关键字参数的语法,因此,例如,您可以使用
foo(baz=2,bar=1)
调用以下函数,这相当于调用
foo(1,2)


您的回溯在哪里?
0
已经是一个
int
,因此
int(0)
在这里是多余的。我不认为“分配”是这里的问题,虽然在python2.x中可能会出现语法错误或类似的错误,但我猜。@mgilson:我想他会出现关键字错误,因为他试图在函数调用中进行赋值,但没有意识到进行赋值的语法也是指定关键字参数的语法。啊。。。好的,我现在跟踪你的答案。
def foo(bar, baz):
    print('bar:', bar)
    print('baz:', baz)