我实际上对此很新,当我运行我的代码时,我得到错误为TypeError: game() missing 1 required positional argument: 'x'
并且我想跟踪用户输入的gusses,所以,我怀疑在声明列表b即是否我在b
中声明objects()
,然后我无法在game()
中使用该列表。我需要一些帮助来解决这个问题。
这是我的代码:
def objects():
import random
x=random.randint(1,9)
game(x)
def game(x):
b=[]
a=int(input('Enetr the number between 1 and 9'))
b.append(a)
print ('till now you have entered ')
print(b)
if a==x:
print('Correct guess')
b=input('Do you want to do it again if not then press exit' )
if b=='exit':
exit
else:
objects()
elif a>x:
print('too big')
game()
else:
print ('too small')
game()
答案 0 :(得分:0)
您将游戏定义为def game(x):
,因此需要参数。然后用game()
调用它,它没有参数。
另外,请记住Python关心缩进。
你可能想要定义没有参数的game
,并在正文中设置x
并使用while
循环,或者在函数调用中调用game(x)
x
没有改变。
让我们采用无参数+ while循环方法
def run_game():
def game():
# set up x and b here
guess = None # that way guess won't equal x the first time around
while guess != x:
guess = int(input('Enetr the number between 1 and 9'))
b.append(guess)
print ('till now you have entered ')
print(b)
# do the guessing logic
# play again?
# yes
game()
game()
你可以在这里做一些改进,但这就是它的要点