python中的回文函数

时间:2014-11-02 23:34:42

标签: python function text-files palindrome

嘿所以我的任务是:

回文=反向与自身相同,例如
“doggod”是一个plaindrome),逐行扫描文件找到它的回文和 返回找到回文的列表。

这是我到目前为止所做的:

def find_palidrome(word):
    if len(word) < 1:
        return True
    else:
        if word[0] == word[-1]:
            return find_palidrome(word[1:-1])
        else:
            return False
def fileInput(alice.txt):
    f = open(alice.txt,'r')
    line = f.readline().strip()
    while line != '':
        if(find_palidrome(line)):
            print(line)
        else:
            print("No palindromes found")
        line = f.readline().strip()
    file.close()

它没有工作,并一直说语法错误IDK有什么不对 有人可以帮忙!!?谢谢!

1 个答案:

答案 0 :(得分:1)

这是找到单词回文的一种更简单的方法:

def is_palindrome(word):
    return word == word[::-1]

然后阅读文件:

def check_file(file_name):
    with open(file_name, 'r') as f:
        for line in f:
            if is_palindrome(line):
                print(line)
            else:
                print("No palindromes found")

if __name__ == '__main__':
    f_name = input('Enter a file path')
    check_file(f_name)

正如其他人指出的那样,问题并未将您的文件名作为字符串传递。在我发布的代码中,文件名默认从内置的input()输入为字符串。在if __name == '__main__'块中包装所有内容使得您可以将这些函数导入到其他程序中运行整个脚本。