所以,对于学校来说,我们必须做一个允许用户猜数字的程序。我有以下代码:
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")
我收到一条错误消息,指出'i' is an invalid function
。任何人都可以帮助我吗?
答案 0 :(得分:5)
你的问题在这里:
print("... Attemp", i=i+1)
print
函数采用任意数量的位置参数和一小组x = ...
形式的关键字参数。
i
不在那组允许的关键字参数中。
也许你的意思是:
print("... Attempt",i)
i += 1
答案 1 :(得分:3)
不确定您要尝试做什么,但在Python中赋值是语句,而不是表达式,因此您无法在print
中使用它。我猜你想做什么
print("Attempt", i)
i = i+1
答案 2 :(得分:2)
此错误来自以下行:
print("... Attemp", i=i+1)
据我所知,您正在尝试在其他语言中执行类似i++
的操作,您可以增加i
并从增量前返回值。
在Python中,你不能这样做,把它放在单独的行上:
print("... Attemp", i)
i += 1
错误是因为函数调用中的name=value
是指定关键字参数的语法,因此例如,您可以使用foo(baz=2, bar=1)
调用以下函数,它等同于调用{{ 1}}:
foo(1, 2)
答案 3 :(得分:1)
Python有一个“命名参数”功能:当您可以按名称传递参数时,
print("... Attemp", i=i+1)
正是如何完成的:第一个i
在这里成为要传递给print
的参数的名称,但是print
不理解这样的命名参数。