在我的代码中,我正在做一个基本的乘法游戏。
但是在我的游戏中,
当您正确回答时,表示您错了
这是我的完整代码:
import random
score = 0
while True:
num1 = random.choice(range(1,12))
num2 = random.choice(range(1,12))
answer = num1 * num2
a = input("Solve for " + str(num1) + "x" + str(num2))
if a == answer:
print("congrats you got it right")
score += 1
else:
print("Wrong sorry play again")
print("Score was: " + str(score))
break
得到正确答案后,就会得到
Solve for 7x10 70
Wrong sorry play again
Score was: 0
答案 0 :(得分:4)
其他语言可能会让您无法理解,但是Python是强类型的。输入函数获取字符串,而不是数字。数字不能等于字符串。在比较它们之前,要么将数字转换为字符串,要么将字符串转换为数字。您可以使用str
或int
进行转换。
答案 1 :(得分:1)
函数input
返回键入为 string ...的内容,以便与答案进行比较,您需要将其转换为int
:>
if int(a) == answer:
或相反(将答案转换为str
):
if a == str(answer):
如果a
无法解析为int
,则第一个可能引发异常。
Here the docs。
PS:我真的很想知道您的随机库是如何选择0到11的1070个采样...
答案 2 :(得分:1)
或使用int(input())
:
import random
score = 0
while True:
num1 = random.choice(range(1,12))
num2 = random.choice(range(1,12))
answer = num1 * num2
a = int(input("Solve for " + str(num1) + "x" + str(num2)))
if a == answer:
print("congrats you got it right")
score += 1
else:
print("Wrong sorry play again")
print("Score was: " + str(score))
break