我的代码跳过if语句。(python 2.7)

我的代码跳过if语句。(python 2.7),python,Python,您好,我对python编码非常陌生,但我不知道为什么这段代码不起作用 prompt = "> " def pos(answer): print answer if 0 < answer < 12: print "Damn you'r young, but you can still do a lot of things.\n" elif 65 < answer < 110: print "Wow you'r

您好,我对python编码非常陌生,但我不知道为什么这段代码不起作用

prompt = "> "

def pos(answer):
    print answer
    if 0 < answer < 12:
        print "Damn you'r young, but you can still do a lot of things.\n"
    elif 65 < answer < 110:
        print "Wow you'r old, but never to old to learn something.\n"
    elif answer < 0:
        print "You should input a positive number."
    else:
        print "I didn't understand you, try inputting a number."


print "Hi there, what's your name?"
name_a = raw_input(prompt)

print "Hi %s, how old are you?" % name_a
age = raw_input(prompt)
pos(age)
prompt=“>”
def pos(回答):
打印答案
如果0<答案<12:
打印“该死的,你还年轻,但你仍然可以做很多事情。\n”
elif 65<答案<110:
打印“哇,你已经老了,但永远不要老了去学东西。\n”
elif答案<0:
打印“您应该输入一个正数。”
其他:
打印“我不明白你的意思,试着输入一个数字。”
打印“你好,你叫什么名字?”
名称\u a=原始\u输入(提示)
打印“你好%s,你多大了?”%name\u a
年龄=原始输入(提示)
pos(年龄)
对于我给出的每一个输入,它都会转到其他地方并打印“我不理解你…”

do

prompt = "> "

def pos(age):
    answer = int(age)
    print answer
    if 0 < answer < 12:
        print "Damn you'r young, but you can still do a lot of things.\n"
    elif 65 < answer < 110:
        print "Wow you'r old, but never to old to learn something.\n"
    elif answer < 0:
        print "You should input a positive number."
    else:
        print "I didn't understand you, try inputting a number."


print "Hi there, what's your name?"
name_a = raw_input(prompt)

print "Hi %s, how old are you?" % name_a
age = raw_input(prompt)
pos(age)
prompt=“>”
def pos(年龄):
答案=整数(年龄)
打印答案
如果0<答案<12:
打印“该死的,你还年轻,但你仍然可以做很多事情。\n”
elif 65<答案<110:
打印“哇,你已经老了,但永远不要老了去学东西。\n”
elif答案<0:
打印“您应该输入一个正数。”
其他:
打印“我不明白你的意思,试着输入一个数字。”
打印“你好,你叫什么名字?”
名称\u a=原始\u输入(提示)
打印“你好%s,你多大了?”%name\u a
年龄=原始输入(提示)
pos(年龄)

因为您使用的是Python2(Python3中没有
raw\u input
),所以
raw\u input
返回一个字符串。要从输入中获取整数,请使用
input

prompt = "> "

def pos(answer):
    print answer
    if 0 < answer < 12:
        print "Damn you'r young, but you can still do a lot of things.\n"
    elif 65 < answer < 110:
        print "Wow you'r old, but never to old to learn something.\n"
    elif answer < 0:
        print "You should input a positive number."
    else:
        print "I didn't understand you, try inputting a number."


print "Hi there, what's your name?"
name_a = input(prompt)

print "Hi %s, how old are you?" % name_a
age = input(prompt)
pos(age)

raw_input
给出一个字符串,您可以与numberrok进行比较,因此我应该输入:int(answer)。@JustHogenelst使用内置的
input
,它直接从提示符返回整数。想象一下,在stackoverflow上,4个答案中有3个使用
int(原始输入())
而不是
input()
。l为什么
int(原始输入())
。。。现在人们怎么了。请使用
输入
(python 2中)
raw_input = input # since `input` exist in both python 2 and python 3
age = int(raw_input("..."))