0

Python に if/else ステートメントがあり、else ステートメントに移動したときに何もしたくありません。

単語のリストを読んで、回文 (「abba」など) を見つけて出力しています。現在、単語のリスト全体が出力されており、 is_palindrome 関数が正しく機能していることがわかります。

def first(word):
    return word[0]

def last(word):
    return word[-1]

def middle(word):
    return word[1:-1]


def is_palindrome(word):
    #print(word)
    if len(word) >1:
        if first(word) == last(word):
            #print(word)
            #print(middle(word))
            return is_palindrome(middle(word))
        else:
            return False
    else:
        return True


try:
    words = open("/usr/share/dict/words","r")

    for line in words:
        line.strip()
        #print line
        if is_palindrome(line) == True:
            print(line)
    else
    words.close()
except:
    print("File open FAILED")

あなたが私に与えることができる洞察をいただければ幸いです。ありがとう。

4

1 に答える 1

9

「line.strip()」自体は行を変更しません。これはうまくいくはずです。

for line in words:
    line = line.strip()
    if is_palindrome(line) == True:
        print(line)

words.close()
于 2013-05-24T06:51:06.917 に答える