检查循环是否返回值

时间:2017-04-20 14:27:42

标签: python

我试图找出如何测试我的列表,如果它总是给出任何结果然后给ok运行另一个列表。我是否需要制作一个新的' for'再次运行我的列表的声明? sry for bad english

我找到了这些陈述,但我试图找出如何将它们应用到我的代码中。

但是如何检查我的循环是否从未运行过?

检查for循环是否从未执行的最简单方法是使用None作为标记值:

x = None
for x in data:
    ... # process x
if x is None:
    raise ValueError("Empty data iterable: {!r:100}".format(data))
If None is a legitimate data value, then a custom sentinel object can be used instead:
x = _empty = object()
for x in data:
    ... # process x
if x is _empty:
    raise ValueError("Empty data iterable: {!r:100}".format(data))

我的用例:

message = ["potato:23", "orange:", "apple:22"]

for i in message:
    parts = i.split(":")
    gauche = parts[0].strip()
    droite = parts[1]

    try:
        droite = int(droite)
        if not gauche.isalpha():
            print("La ligne '", i, "' n'est pas correctement formaté.")
            break
        except ValueError:
            print("La ligne '", i, "' n'est pas correctement formaté.")
            break
# following code runs if no error was raised in the for loop
message2 = sorted(ligne(texte))
for j in message2:
    print(j)
sys.exit()

1 个答案:

答案 0 :(得分:1)

  

问题:如果没有引起任何错误,我想执行此代码

如果您想继续使用您的程序,则无法使用raise 例如,如果append 没有 gaucheint(droite),我raise ValueError全部gauche.isalpha
对这个水果列表进行排序,然后print

ligne = []
for i in message:
    parts = i.split(":")
    gauche = parts[0].strip()
    droite = parts[1]
    try:
        droite = int(droite)
        if not gauche.isalpha():
            #raise Exception("La ligne {!r:2} n'est pas correctement formaté.".format(i))
            print("La ligne {!r:2} n'est pas correctement formaté.".format(i))
        else:
            # Append only if isalpha
            ligne.append((gauche))

    except ValueError:
        #raise Exception("La ligne {!r:2} n'est pas correctement formaté.".format(i))
        print("La ligne {!r:2} n'est pas correctement formaté.".format(i))


message2 = sorted(ligne)
for fruit in message2:
    print(fruit)
  

<强>输出
  La ligne'apple:'n'est pascorrectementformaté。
  苹果
  土豆

尝试了你的代码,它对我有用。 我得到以下输出:

La ligne ' orange: ' n'est pas correctement formaté.
  

问题:我发现了这些声明,但我试图找出如何将它们应用到我的代码中

您可以使用它:例如:

try:
    droite = int(droite)
    if not gauche.isalpha():
        raise Exception("La ligne {!r:2} n'est pas correctement formaté.".format(i))
except ValueError:
    raise Exception("La ligne {!r:2} n'est pas correctement formaté.".format(i))