Python while-True循环的两个条件
我想写一个Python while-True循环的两个条件,python,Python,我想写一个while True循环,当且仅当用户输入的数字: 是一个整数 数字是1或2 我是这样写的,但不知怎的它不起作用 while True: s1=input("Choose the item you want to buy (1 and/or 2 only): ") try: a=int(s1) 3>a>0 break except ValueError: pass 您需要实际检查该
while True
循环,当且仅当用户输入的数字:
- 是一个整数
- 数字是1或2
while True:
s1=input("Choose the item you want to buy (1 and/or 2 only): ")
try:
a=int(s1)
3>a>0
break
except ValueError:
pass
您需要实际检查该值:
if 0 < a < 3:
break
然而,值得一提的是,你在try
块中拥有的越少越好;你最终可能会对自己隐瞒错误。因此,更好的结构可能是:
try:
a = int(s1)
except ValueError:
pass
else:
if 0 < a < 3:
break
试试看:
a=int(s1)
除值错误外:
通过
其他:
如果0
我希望循环不断重复,直到它满足这两个条件。您可以将其放入现有的循环中,而
循环非常感谢您的帮助
try:
a = int(s1)
except ValueError:
pass
else:
if 0 < a < 3:
break