在阅读2.7文档的基础上,以下代码应该从我能说的内容中正确执行。我调用 raw_input(text)来获取变量年龄的输入,但它总是返回您可以看到评分为R的电影。
import sys
age = raw_input("What is your age? ")
if age >= 17:
print "You can see rated R movies."
elif age < 17 and age > 12:
print "You can see a rated PG-13 movies."
else:
print "You can only see PG movies!"
根据我的逻辑,如果传递给年龄的值不大于或等于17,它应该移动到下一个语句。这不是我得到的结果。它总是返回额定R线。例如,我输入3,它仍然给我额定的R响应。如果我翻转&gt;到&lt;然后它总会返回“你只能看到PG电影!”线。
思想?
答案 0 :(得分:5)
raw_input
返回一个字符串。您需要先将输入转换为int
,然后才能对数字进行测试。
age = int(raw_input('How old are you? '))
答案 1 :(得分:0)
当您使用raw_input方法时,要求通过键盘输入值,即使您要求输入整数值,输入的所有内容都将被读取为字符串而不是整数。
您的解决方案:
age = int(raw_input("What is your age? ")).
无论引入什么,都要解析为int。