Python继续阅读下一个Elif语句

时间:2016-12-07 16:05:05

标签: python if-statement find

我当前的代码搜索元组列表,它将打印与输入的字符串匹配的条目。如果找不到字符串,则会输出错误。但是,即使打印出找到的结果,我的代码也会打印错误。

            if scheme not in i:
                    print("Could not find a record with degree scheme",scheme)

我如何更改它以便它将找到for循环的所有条目,如果没有找到它则显示错误。因为目前它显示了找到的条目,然后也是"找不到.."错误。

2 个答案:

答案 0 :(得分:1)

您可以使用标记

if choice == 1:
        found_flag = False
        scheme=input("Enter the degree scheme: ").upper()
        for i in lst:
            if i[2] == scheme:
                printStud(i[0:5])
                found_flag = True

        if not found_flag:
                print("Could not find a record with degree scheme",scheme)

答案 1 :(得分:0)

scheme永远不在i中,因为您使用i来循环lst中的元组,因此它是lst中的单个元组}。尝试

if scheme not in [s[2] for s in lst]: