Midcpuzqrw 2022-04-27 12:25 采纳率: 94.4%
浏览 38
已结题

python 语句判断问题

while True:
try:
num=input()
n=int(num)
break
except:
print('illegal input')

if str(3) or str(4) in str(n):
print('true')
else:
print('false')

#为什么一直输出 true啊?

  • 写回答

4条回答 默认 最新

  • A Python 萌新花花 2022-04-27 12:38
    关注

    你要知道一件事,就是or和and 的优先级很低,就是str(3) or str(4) in str(n)里面,实际 相当于str(3) or (str(4) in str(n))
    就是str(4) in n和str(3)中选一个,因为str(3)的话会造成类似True的效果,就是只要你输入的是数字,就会输出true
    应该改成if “3” in str(n) or "4" in str(n):

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月27日