基本Python添加脚本的问题。

时间:2014-01-24 19:17:24

标签: python python-2.7 conditional

我是Python的初学者,我基本上都在尝试为自己制作一个基本的数学课程,并开始使用两位数的加法程序,每次都有随机问题,我甚至设法搞砸了。每当我输入正确的答案时,它每次都说不正确。这是代码:

import random

digit_one = random.randint(0,100)
digit_two = random.randint(0,100)


print "What is %s + %s?" % (digit_one, digit_two)

answer = digit_one + digit_two    

userAnswer = raw_input()

if userAnswer == answer:
    print "Well done that's correct!"

else:
    print "That's incorrect!"

我正在使用2.7和内置的IDLE IDE。我有一种感觉,我应该使用循环,但我知道如果我希望它继续重新加载问题我将不得不使用它。我很感激任何帮助,谢谢。

4 个答案:

答案 0 :(得分:3)

userAnswer = raw_input()

raw_input返回一个字符串。您需要将其显式转换为int,如此

userAnswer = int(raw_input())

因为您要将其与answer进行比较,后者是int。您可以通过打印这些变量的类型来确认这一点,例如

print type(answer), type(userAnswer)

答案 1 :(得分:3)

raw_input()返回一个字符串(str)。在条件设置中,您要比较str是否等于answerint)。

要解决此问题,您可以将输入转换为int

userAnswer = int(raw_input())

答案 2 :(得分:2)

raw_input返回一个字符串。将其转换为int以将其与数字进行比较:

>>> x = raw_input()
23
>>> x
'23'
>>> 23
23
>>> x == 23
False
>>> int(x)
23
>>> int(x) == 23
True

答案 3 :(得分:0)

您正在尝试将字符串与整数进行比较。尝试输入' userAnswer'作为一个整数,而不是一个字符串,如下所示:

userAnswer = int(raw_input())