有人可以解释为什么elif被忽略了吗?

时间:2017-04-28 09:46:08

标签: python if-statement

我对编程很陌生,无法理解为什么我的elif语句被忽略了。有人可以帮忙吗?

prompt = ("Enter your age to buy a ticket ")
prompt += ("or type 'quit' to end the program:")

while True:
    age = raw_input(prompt)

    if age == 'quit':
        break
    elif age < 3:
        print "Free ticket."
    elif age < 12:
        print "$10 ticket."
    else:
        print"$15 ticket."

2 个答案:

答案 0 :(得分:1)

age是一个字符串。在检查整数之前将其转换为int。

prompt = ("Enter your age to buy a ticket ")
prompt += ("or type 'quit' to end the program:")

while True:
    age = raw_input(prompt)

    if age == 'quit':
        break
    elif int(age) < 3:
        print "Free ticket."
    elif int(age) < 12:
        print "$10 ticket."
    else:
        print "$15 ticket."

答案 1 :(得分:1)

我会告诉你一些基本的调试技巧。

您想知道为什么忽略elif意味着您想知道未输入elif块的原因。原因很明显,条件是False

因此您只需输出条件即可结帐。 print age < 3,然后输出False