Python-输出不符合预期

时间:2019-07-23 11:05:12

标签: python python-3.x

我的代码如下:

varchar

可能是一个简单的答案,但是当年龄大于12岁时,返回 当您的入场费为15美元时,“您的入场费为10美元”为 预期-为什么?

4 个答案:

答案 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岁以上的所有年龄段