错误捕获特定边界

时间:2016-10-05 08:41:45

标签: python error-handling

你好python社区,

如何阻止此循环?

volatile

非常感谢

1 个答案:

答案 0 :(得分:-2)

这有效......

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...和其他输入(我猜你有)会好得多,因为你不会多次使用相同的代码行(这是一个基本的做法,写好软件)。