我刚写了一个简单的python程序,它应该给这个人两个随机整数,在用户输入他们的添加后,它会告诉他/她答案是否正确。但由于某种原因,无论用户输入什么,它都说答案是不正确的。
以下是该计划:
import random
num = 1
while True:
print'Welcome to Hamza\'s Math game!!'
a = raw_input("To start press enter! ")
if a == '':
def qgen():
q1 = random.randrange(0, 11)
return q1
while True:
c1 = qgen()
c2 = qgen()
print "Question " + str(num)
b = raw_input("Whats " + str(c1) + ' + ' + str(c2)+'?\n')
if b != c1 + c2:
print 'Gameover, your score was: ' + str(num-1)
print 'The correct answer was: ' + str(c1 + c2)
break
elif b == c1 + c2:
print'Correct!!!'
num +=1
提前致谢, Hamza Tahboub。
答案 0 :(得分:2)
问题在于这段代码。
raw_input("Whats " + str(c1) + ' + ' + str(c2)+'?\n')
实际上python将其解释为字符串作为raw_input函数的返回类型,因此您必须将其转换为整数以使用int(str)函数与整数进行比较。
b = raw_input("Whats " + str(c1) + ' + ' + str(c2)+'?\n')
if int(b) != c1 + c2:
print 'Gameover, your score was: ' + str(num-1)
print 'The correct answer was: ' + str(c1 + c2)
break
else:
print'Correct!!!'
num +=1
会为您提供所需的信息。
答案 1 :(得分:0)
当用户输入数字时,它被解释为字符串。为了与您将其转换为整数所需的总和进行比较:
b = int(raw_input("Whats " + str(c1) + ' + ' + str(c2)+'?\n'))
现在比较按预期工作。