Python 没有错误,但没有打印任何内容,但如果在while循环中打印,则会打印多次。我该如何解决这个问题?

Python 没有错误,但没有打印任何内容,但如果在while循环中打印,则会打印多次。我该如何解决这个问题?,python,printing,while-loop,Python,Printing,While Loop,您的while循环似乎就是问题所在。它是“while True”——因为True总是等于True,所以您的循环将永远继续循环。如果打印列表1在循环中,则它会打印其中的每一次。如果它不在循环中,它将永远不会运行 我想说,您可以向循环中添加逻辑来打破它,但老实说,从这段代码中,我完全看不出为什么会有外部循环。您可能只需要执行FOR循环,然后继续编写代码 要确认这一点,只需在循环的末尾加一个“break”即可退出。一旦确认,我会完全删除外部循环,除非有理由在你的帖子中看不到它。你的循环就是问题所在,它

您的while循环似乎就是问题所在。它是“while True”——因为True总是等于True,所以您的循环将永远继续循环。如果打印列表1在循环中,则它会打印其中的每一次。如果它不在循环中,它将永远不会运行

我想说,您可以向循环中添加逻辑来打破它,但老实说,从这段代码中,我完全看不出为什么会有外部循环。您可能只需要执行FOR循环,然后继续编写代码


要确认这一点,只需在循环的末尾加一个“break”即可退出。一旦确认,我会完全删除外部循环,除非有理由在你的帖子中看不到它。

你的循环就是问题所在,它会永远循环!您希望循环文件中的文本,例如:

data = open("t.txt","r")
list1 = []
while True:
    text = data.readline()
    count = {
        "a": [],
        "b": [],
        "c": [],
        "d": []
    }
    for item in count:
        if item in text or "Subject" in text:
            list1.append(text)
data.close()
print(list1)

…为什么你要创建一个字典,然后只对它的键进行迭代,而从不修改它。。。为什么不干脆
count=“abcd”
?此外,不应使用
while True
+
readline()
而应在文件上迭代:
以查看数据中的文本:查看“abcd”中的项::在
data.readline()之后中断
for text in data:
    ...