TypeError:game()缺少1个必需的位置参数:'x'

时间:2017-02-14 16:58:53

标签: python python-3.x

我实际上对此很新,当我运行我的代码时,我得到错误为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()

1 个答案:

答案 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()

你可以在这里做一些改进,但这就是它的要点