如何防止方程冻结程序

时间:2015-09-01 01:09:24

标签: python

我正在研究一个生成随机方程的程序,并且总是得到错误,例如"不能除以零"并且" overflower:结果太大"这阻止了继续生成。有没有办法阻止程序冻结并收到错误消息?

import random
import math

while 1:
    try:

        var = ['math.pi','999999999999999999999','(5/3)']

        s1 = '**'
        s2 = '**'
        s3 = '**'
        s4 = '**'

        v1 = var[random.randrange(0,2)]
        v2 = var[random.randrange(0,2)]
        v3 = var[random.randrange(0,2)]
        v4 = var[random.randrange(0,2)]
        v5 = var[random.randrange(0,2)]

        result = eval(v1+s1+v2+s2+v3+s3+v4+s4+v5)
        print v1+s+v2+s+v3+s+v4+s+v5

    except:
        print("error found moving on")

1 个答案:

答案 0 :(得分:0)

嗯,你应该首先调查错误发生的原因并修复它们。但是,如果您想要一个快速(并且未经推荐)的解决方案,您可以使用try-except块捕获异常,以防止程序崩溃。请转到此处的第8.3节,了解如何执行此操作:https://docs.python.org/2/tutorial/errors.html