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啊?
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啊?
你要知道一件事,就是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):