print('不构成饮酒') if 0 <= x < 20 else ('酒后驾驶' if 20 <= x < 80 else '醉酒驾驶')
本质上是一个三元表达式,返回一个值,就像加减乘除一样
1. 0 <= x < 20 时执行 print 函数并计算结果(结果是 print 的返回值 None)。导致“不构成饮酒”被 print 打印了出来。在交互器中表达式的结果会立即显示(None 除外),导致最终输出了“不构成饮酒”
2. 20 <= x < 80 时表达式计算得到的结果是'酒后驾驶'。在交互器中表达式的结果会立即显示,使得'酒后驾驶'显示了出来。而在编辑器中,没有显示表达式结果的功能,所以什么也不会输出
3. '醉酒驾驶'同理
说白了,就是在交互器中输入 1+2 ,它会返回 3 。在编辑器中,你要 print 整个 1+2 才会得到 3 。
除此之外,input 返回字符串,需要转换成整数x = int(input('酒精检测:'))
b = '不构成饮酒' if 0 <= x < 20 else ('酒后驾驶' if 20 <= x < 80 else '醉酒驾驶')
print(b)
|