Python 捕获特定边界时出错
您好,python comunity 如何阻止循环Python 捕获特定边界时出错,python,error-handling,Python,Error Handling,您好,python comunity 如何阻止循环 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
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
error33=2
青少年存活率=-1.0
当error33>1时:
而不是(0<青少年存活率<1):
survivalrateforjuniles=输入(“请输入穷人的生存率\n”)
尝试:
青少年生存率=浮动(青少年生存率)
除值错误外:
青少年存活率=-1
打印(“请输入一个介于0和1之间的数字”)
打印('做你想做的')
错误33=0
与您的解决方案没有太大区别,但您不需要
中断
,而且看起来更健壮。但是,创建一个函数来读取survivalrate…
和其他输入(我想您已经有了)会更好,因为您不会多次使用相同的代码行(这是编写好软件的基本实践之一)。error33
永远不会改变吗?然后它就不会停止了。你甚至会编码吗?在这个代码中有很多东西是错误的。不需要将int转换为int,error33=2
就可以了。您的条件为“错误33”,它从未被修改,也从未被使用过。你有两个,一个在另一个里面,其中一个永远不会结束。只有当survivalrateforjuniles
根本不是浮动时,循环才会中断,如果survivalrateforjuniles
不是一个介于0和1之间的浮点数,那么你似乎希望它被打破。好吧,我要拍一下你的背@efferagana,你怎么知道error33
应该在else
部分进行更改呢?@Matthias,我刚刚猜这就是你在代码中使用的形状。如果你想退出循环,在某个时刻你必须改变错误33。你可以在你想换的地方换。如果这是相对于输入必须是浮点的事实,那么我会在survivalrate…