Python在for循环中使用try / except

时间:2018-02-02 20:58:51

标签: python try-catch

我是python异常的新手。我想在for循环中尝试catch / except,我该如何实现代码。谢谢。

a=5
b=[[1,3,3,4],[1,2,3,4]]
entry=[]
error=[]
for nums in b:
    try:
        for num in nums:
        if a-num==3:
            entry.append("yes")
except:
    error.append('no')

我只有输入值,错误仍然是空的。我该如何修复我的代码。谢谢。

2 个答案:

答案 0 :(得分:2)

try-except用于捕获异常。您尝试的代码没有理由抛出异常。你可以这样做......虽然这不是一个尝试 - 除外的好用例。你应该真的只是使用if-else。

if __name__ == '__main__':
    a = 5
    b = [[1, 3, 3, 4], [1, 2, 3, 4]]
    entry = []
    error = []
    for nums in b:
        for num in nums:
            try:
                if a - num == 3:
                    entry.append("yes")
                else:
                    raise ValueError
            except:
                error.append("no")
    print(entry, error)

答案 1 :(得分:0)

除了修复缩进之外,对于您正在做的事情,除了else之外,您只需使用if

for nums in b:
    for num in nums:
        if a-num == 3:
            entry.append("yes")
        else:
            error.append('no')

正如其他人所说,如果不包括您正在寻找的例外情况,编写except绝不是一个好主意。 This post给出了一些很好的解释原因。