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)