我试图创建一个函数,读取文件中的每一行,并将其与反向(回文)版本进行比较i.e > (heheh = heheh) & (law = wal).因此,当我尝试这样做时,条件失败,函数返回一个空列表.
码
def palindrome_lst():
lst = []
with open("words.txt", "r") as f:
for line in f:
if line == line[::-1]:
lst.append(line)
return lst
print palindrome_lst()
Run Code Online (Sandbox Code Playgroud)
迭代文件中的行时,您将获得行终止符以及行的其余部分.Id est,你不是在比较"eye" == "eye",但是"eye\n" == "\neye",对于所有单词来说,这当然是错误的.
line = line.strip()在比较之前尝试添加.