我正在尝试制作一个简单的乘法游戏。我最初有这样的代码
m = 1
total = 3
print "Which Multiplication tables do you want to practice?"
toPractice = raw_input()
while m <= total:
print "What is %s times %s" % (toPractice, m)
answer = raw_input('Your Answer: ')
print answer
if answer == toPractice * m:
print "Correct!"
m = m + 1
else:
print "Answer %s is incorrect." % (answer)
print 'Correct Answer: ', toPractice * m # For testing
m = m + 1 # For testing
但这样做只是使你正在做的乘法表(例如12)在12 * 2上显示为1212,在12 * 3上显示为121212等等。所以我将它转换为整数。
toPractice = raw_input()
toPractice = int(toPractice)
但是,当我这样做时,它会说12 * 2的答案是24,但它说答案是不正确的。我问过朋友并试着四处寻找,但却无法弄清楚为什么它不起作用。
答案 0 :(得分:3)
你也需要使用他们答案的整数!
if int(answer) == toPractice * m:
答案 1 :(得分:3)
不要忘记:raw_input
始终返回str
。乘以一个字符串只是重复它,例如"12" * 3 = "121212"
。您需要使用int
函数将输入转换为整数:
answer = raw_input('Your Answer: ')
answer = int(answer)
或者更短的方式:
answer = int(raw_input('Your Answer: '))
您需要为程序中需要数字的每个输入执行此操作。