gpt4 book ai didi

python - 为什么这个 python 代码不打印字谜?

转载 作者:太空宇宙 更新时间:2023-11-04 08:31:15 26 4
gpt4 key购买 nike

def is_anagram(s1,s2): 
L1 = list(s1)
L2 = list(s2)

return sorted(L1) == sorted(L2)



def read_words():
fin = open('words.txt')


for line in fin:
line = fin.readline()
word = line.strip()

for line1 in fin:
line1 = fin.readline()
word1 = line1.strip()
if is_anagram(word,word1):
print(word, word1)
read_words()

当我运行它时它没有显示任何东西(甚至没有错误)。我确信 words.txt 包含一些字谜。我不明白为什么这不起作用。请有人帮忙。

words.txt 看起来像这样:

aa
aah
aahed
aahing
aahs
aal
aalii
aaliis
aals
aardvark
aardvarks
aardwolf
aardwolves
aas
aasvogel
aasvogels
aba
abaca
abacas
abaci
aback
abacus
abacuses
abaft
abaka
abakas
abalone
abalones
abamp
abampere
abamperes
abamps
abandon
abandoned
abandoning
abandonment
abandonments
abandons
abas
abase
abased
abasedly
abasement
abasements
abaser
abasers
abases
abash
abashed
abashes
abashing
abasing
abatable
abate
abated
abatement
abatements
abater

最佳答案

fin 不是列表。它只产生每行一次。您的两个循环不会独立地迭代它。

如果您想多次遍历它,请先将行读入列表。一个列表可以迭代多次。

def read_words():
with open('words.txt') as fin:
lines = [line.strip() for line in fin]

for line in lines:
for line1 in lines:
if line!=line1 and is_anagram(line, line1):
print(line,line1)

(假设每个单词在您的文本文件中单独一行。)

关于python - 为什么这个 python 代码不打印字谜?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52774685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com