初学者错误处理返回布尔值

时间:2017-04-29 04:06:54

标签: python algorithm error-handling

这些是我的错误处理说明:

编写一个函数,它将函数f作为其第一个参数,将正整数x作为其​​第二个参数。当给出这两个参数时,no_errors应该在从0到包括x的每个整数上应用函数f。如果这一系列的应用程序运行得很好(没有错误发生),那么no_errors应该返回True。如果在某些时候应用f会导致错误,那么no_errors应该返回False。

我意识到这应该是相当简单的,但作为一个新的编码器,我很难看到我的代码出了什么问题。非常感谢任何帮助,谢谢!

def no_errors(f,x): 
    try:
        for i in range(0, x+1):
            f(i)
            print(f(i))
            return True

    except:
        return False

1 个答案:

答案 0 :(得分:2)

在循环结束后你需要return True,所以不要缩进:

def no_errors(f, x):
    try:
        for i in range(0, x+1):
            f(i)
            print(f(i))
        return True
    except:
        return False

一个工作示例:

def foo(x):
    return x * x

print no_errors(foo, 10)

0
1
4
9
16
25
36
49
64
81
100
True