你好python社区,
如何阻止此循环?
error33 = int(2)
while error33 > 1:
while True:
try:
survivalrateforjuveniles = float(input("Please enter the survival rate for poomen"))##Float input is being used as
break
except ValueError:
print("Please enter a number between 0 and 1")
continue
else:
break
非常感谢
最佳答案
这有效...
error33 = 2
while error33 > 1:
while True:
try:
survivalrateforjuveniles = float(input("Please enter the survival rate for poomen\n"))
break
except ValueError:
print("Please enter a number between 0 and 1")
continue
else:
error33 = 0
break
我不知道您在做什么...但是我想我会使用类似以下内容:
error33 = 2
survivalrateforjuveniles = -1.0
while error33 > 1:
while not (0 < survivalrateforjuveniles < 1):
survivalrateforjuveniles = input("Please enter the survival rate for poomen\n")
try:
survivalrateforjuveniles = float(survivalrateforjuveniles)
except ValueError:
survivalrateforjuveniles = -1
print("Please enter a number between 0 and 1")
print('do what you want')
error33 =0
与您的解决方案没有太大不同,但是您不需要
break
并且看起来更健壮。但是,创建一个函数来读取survivalrate...
和其他输入(我想您已经拥有)会更好,因为您不会多次使用同一行代码(这是编写优秀软件的基本实践之一) 。
关于python - 捕获特定范围时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869219/