tableHandler
错误在下面的这一行告诉n1未定义。
import random
def game(n):
while counter < n:
n1 = random.randrange(1,10)
n2 = random.randrange(1,10)
counter = 0
print (str(n1) + " + " + str(n1))
answer = input("Enter answer: ")
if answer == n1+n2:
print("Correct.")
else:
print("Incorrect.")
counter += 1
pass
答案 0 :(得分:0)
以下是您需要解决的问题:
counter
作为条件的一部分,然后再给它一个值。n1
和n2
,因此每次猜测n1
和n2
将再次创建并分配不同的值。我不确定你是否希望这种情况发生,但如果你这样做,你可以简单地将这两条线移回循环内。break
的原因。这将在成功回答后结束循环。此外,如果答案不正确,您也不需要pass
。循环将继续,直到收到正确的答案或达到counter
的值。无论如何,这是您的代码的固定/工作版本。
import random
def game(n):
counter = 0
n1 = random.randrange(1,10)
n2 = random.randrange(1,10)
while counter < n:
# move creation of n1, n2 here if you want #'s to change after every guess
print ('{} + {}'.format(n1, n2))
answer = input("Enter answer: ")
if answer == int(n1 + n2):
print("Correct.")
break
else:
print("Incorrect.")
counter += 1
您应该阅读一些基本的Python主题,例如缩进,while
循环和变量。
希望这有帮助!
最后,这里有2个测试。其中一个我成功地猜到了正确的答案而另一个我猜到了计数器到达之前。
4 + 9
Enter answer: 3
Incorrect.
4 + 9
Enter answer: 2
Incorrect.
4 + 9
Enter answer: 1
Incorrect.
9 + 8
Enter answer: 17
Correct.
在这两个例子中,我用game(3)
调用了函数。