【发布时间】:2022-09-23 01:30:22
【问题描述】:
目标是打印出文本文件中不包含子字符串中任何字符的所有单词。
我目前的解决方案是:
words = open(\'words.txt\')
def avoids(fin, letter):
for line in fin:
for char in letter:
if char in line:
break
print(line.strip())
avoids(words, \'abo\')
输出是: 芽孢杆菌 芽孢杆菌 是 贝比鲁 比比鲁斯 血腥 有血有肉的 血腥的 血腥
它避免了所有单词一个但仍然打印所有单词b和○.我知道我的错误与第二个循环的中断有关,但我只是无法发现它。
-
尝试使用 continue 而不是 break。这将进入下一次迭代而不是停止它。
-
minimal reproducible example 将包含一个单词列表,而不是使用我们没有(也不想要)的文件。
-
尽量减少问题和看(打印)你的程序流程。例如,您可以将
print(line.strip())替换为print(letter)并在包含两个或三个单词的列表上执行外循环,或者仅在range中执行外部循环,而不使用if。
标签: python