[問題] 回文判定

Contents

[問題] 回文判定#

「受け取った文字列が回文か否かを判別する関数を作成しよう」

うけとった文字列が回文か否かを判別する関数を作成してください。

ただしこの時、関数が受け取る文字列は句読点や記号を含まないものと仮定します。(記号などが含まれる場合については考えなくても良い)
回分であればTrue, 回文でなければFalseを返り値として返してください。

def palindrome_checker(sentence:str)->bool:
    ...

print("たけやぶやけた", palindrome_checker("たけやぶやけた"))
print("たけやぶやけたかな", palindrome_checker("たけやぶやけたかな"))
たけやぶやけた None
たけやぶやけたかな None

解答例#

【一番短い(?)解答例】

Hide code cell source
def palindrome_checker(sentence:str)->bool:
    return sentence == sentence[::-1]
    
input = "たけやぶやけた"
output = palindrome_checker(input)
print(input, output)


input = "たけやぶやけたかな"
output = palindrome_checker(input)
print(input, output)
Hide code cell output
たけやぶやけた True
たけやぶやけたかな False

【わかりやすい解答例】

Hide code cell source
def palindrome_checker(sentence:str)->bool:
    reversed_sentence = ""
    for w in sentence:
        reversed_sentence = w + reversed_sentence
    return sentence == reversed_sentence
    
input = "たけやぶやけた"
output = palindrome_checker(input)
print(input, output)


input = "たけやぶやけたかな"
output = palindrome_checker(input)
print(input, output)
Hide code cell output
たけやぶやけた True
たけやぶやけたかな False