为什么if和elif语句没有完全执行?

Out*_*dit 1 python

在阅读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!"
Run Code Online (Sandbox Code Playgroud)

根据我的逻辑,如果传递给age的值不大于或等于17,它应该移动到下一个语句.这不是我得到的结果.它总是返回额定R线.例如,我输入3,它仍然给我额定的R响应.如果我将>翻转到<然后它总是返回"你只能看到PG电影!" 线.

思考?

sam*_*pyt 5

raw_input返回一个字符串.您需要将输入转换为a int之前可以根据数字进行测试.

age = int(raw_input('How old are you? '))
Run Code Online (Sandbox Code Playgroud)