我的代码如下:
varchar
可能是一个简单的答案,但是当年龄大于12岁时,返回 当您的入场费为15美元时,“您的入场费为10美元”为 预期-为什么?
答案 0 :(得分:2)
在elif
语句之后有多个条件时,语法略有不同:
while True:
age = input(prompt)
if age == 'quit':
break
elif int(age) < 3:
print ('Your admission is free')
elif (int(age) > 3) and (int(age) < 12):
# Annother possibility :
#elif 3 < int(age) < 6 :
print ('Your admission charge is $10')
else:
print ('Your admission charge is $15')
break
答案 1 :(得分:0)
例如,因为我将 13 置于其他条件,所以第一个条件不正确,进入第二,13 < 3
false ,进入第三,{ {1}}这里为13 > 3
这里为false,条件为 false ,现在转到< 12
并根据您的情况在此else
上制作所需的内容else
。
这种情况的一个很好的例子是使用断言:
print
答案 2 :(得分:0)
可能您必须使用AND运算符。
elif int(age) > 3 and int(age) < 12:
...
我还建议您在阅读输入后立即强制转换-您不必每次都写int(age):)
age = int(input(prompt))
答案 3 :(得分:0)
尝试 3 <年龄<12
您的int(年龄)> 3 <12被解释为 年龄> 3 && 3 <12 这适用于3岁以上的所有年龄段