我正在尝试在for
循环内运行while
循环,但由于某种原因它根本没有运行。
以下是代码:
with open("Nominees_18.csv") as nominees:
reader = csv.reader(nominees)
next(reader)
for c, row in enumerate(reader):
print(row[0], row[1], c)
while True:
name = input("chose a number")
print(4)
for c, row in enumerate(reader):
print(4)
if str(c) in name:
print(len([i for i in row if row[i] == "y"]))
if input("chose another?") == ("no" or "No"):
break
脚本会询问您是否有号码,然后询问您是否要选择其他号码。我把print(4)
用来测试for循环并且它没有出现。
上面还有其他代码,但我没有把它包括在内,因为我觉得它不相关,但是如果你想要它,请告诉我。
我不知道为什么会发生这种情况。
感谢。
答案 0 :(得分:0)
input()
等待用户输入内容,因此在用户按Enter后执行print(4)
。 while循环内部的for循环可能找不到任何内容,因为您之前已经迭代了文件内容(并且读取器已经在文件的末尾)。您可能希望将文件内容保存在本地变量中(以解析的形式),以便在文件不太大时可以更轻松地搜索它。
答案 1 :(得分:0)
在第一个循环中枚举后,生成器已经耗尽。在第一个循环之后尝试在其上调用next()方法将导致StopIteration错误,但是尝试在下一个for循环中迭代它不会做任何事情,因为它已经是空的。