【发布时间】:2011-07-03 03:08:09
【问题描述】:
抱歉这个新手问题,刚刚开始。我想要一个简单的程序在文件中查找反向单词,所以写了这个源,但它不起作用。在它进入第二个“for”循环后,它不会回到第一个循环,而是结束程序。有什么线索吗?
def is_reverse(word1, word2):
if len(word1) == len(word2):
if word1 == word2[::-1]:
return True
return False
fin = open('List.txt')
for word1 in fin:
word1 = word1.strip()
word1 = word1.lower()
for word2 in fin:
word2 = word2.strip()
word2 = word2.lower()
print word1 + word2
if is_reverse(word1, word2) is True:
print word1 + ' is the opposite of ' + word2
编辑: 我试图循环一个文件和一个列表,并得到了一个好奇的(对我来说)结果。如果我使用此代码,一切正常:
def is_reverse(word1, word2):
if len(word1) == len(word2):
if word1 == word2[::-1]:
return True
return False
fin = open('List.txt')
fin2 = ['test1','test2','test3','test4','test5']
for word1 in fin:
word1 = word1.strip()
word1 = word1.lower()
for word2 in fin2:
word2 = word2.strip()
word2 = word2.lower()
print word1 + word2
if is_reverse(word1, word2) is True:
print word1 + ' is the opposite of ' + word2
如果我交换 fin 和 fin2 第一个循环只进行一次迭代。谁能解释一下为什么?
【问题讨论】:
-
粘贴真实代码,这个有语法错误和未定义的变量。
-
你觉得我的解决方案怎么样?
标签: python file loops iterator for-loop