【问题标题】:How to print one error after going through invalid index index in list based on user input如何根据用户输入通过列表中的无效索引索引后打印一个错误
【发布时间】:2019-07-17 00:01:45
【问题描述】:

基本上遍历一个列表,根据mrp_number 输入将相关索引打印到列表中。

我想打印一个错误语句,或者至少让它循环回用户必须再次输入正确的mrp_number。我的问题是这是一个很大的列表,其中包含大量缺少mrp_numbers 的行。如何循环遍历此列表并仅打印一次错误?

我已经完成了 else 语句,但它会继续打印错误,因为它会在缺少 mrp_controller 的列表中重复。我尝试学习尝试和异常处理,但我不知道。

def mrp_assignment():
    mrp_number = input("Enter MRP Controller Number ")
    for row in polist:
        purchasing = row[0]
        material = row[7]
        mrp_controller = row[8]
        description = row[9]
        if mrp_number in mrp_controller:
            print(mrp_controller, purchasing, material, description)
        else:
            print('error')

我预计会打印一个错误,但我打印了多个错误

【问题讨论】:

    标签: python-3.x jupyter


    【解决方案1】:

    只需在 print('error') 之后放一个 break。如果发生错误,这将打破你的 for 循环。

    【讨论】:

    • 嘿海达尔,如果提问者不熟悉breaks,你介意解释一下吗?
    • 下面是 break 的工作原理。感谢您的建议@Steven。 tutorialspoint.com/python/python_break_statement
    • 对不起,我明白什么是 break。请阅读我的代码。如果我输入的 MRP 编号在第 3 个列表中不存在但在第 100 个列表中存在,它将完全破坏并打印错误,这就是我不想要的。如果它不符合标准,我想将它设置为例如:90\260 是 MRP 编号应该是什么......然后它会中断并要求再次输入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 2016-05-21
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多