記録#
今日は新しい知識を学ぶことはなく、コーディングの練習を行いました。
この問題は、英単語が回文かどうかを判断するものであり、前から読んでも後ろから読んでも同じです。ヒントに従うと、使用する必要がある関数は string.reverse () であり、これは文字列を逆にする関数です。
コードでは、3 つの要件を満たす必要があります:再帰、文字列スライス、ループ。
コードの基本的なロジックは以下の通りです:
- ユーザーが単語を入力します。
- その単語が回文かどうかを判断します。
- Yes または No を出力します。
今日の問題は難しかったです。最初は string.reverse () を使って文字列を反転できると思っていましたが、後で文字列にそのようなメソッドがないことに気づき、正しい答えを調べるしかありませんでした。
その後、string [-1] と string [:-1] の部分でかなりの時間を費やして理解しようとしました。最初は GPT-3 に尋ねましたが、理解できませんでした。後に GPT-4 が説明してくれたおかげで理解できました。string [-1] は文字列のインデックスを表し、文字列内の最後の文字を示します。一方、string [:-1] は文字列スライスの使用法であり、範囲の取得を表し、つまり 0 から最後から 2 番目の文字までを示します。
コード#
def radar(vstr):
if len(vstr) <= 1:
return True
elif vstr[0] != vstr[-1]:
return False
return radar(vstr[1:-1])
while True:
vstr = input("Input > ")
print(radar(vstr))