Pythonのwhileループを使用した回文文字列プログラム


Pythonを使用して回文文字列を判定するプログラムを作成する方法をいくつか紹介します。回文文字列は、前後を反転させても同じになる文字列のことです。

方法1: whileループとインデックスを使用する方法

def is_palindrome(s):
    # 文字列を小文字に変換して空白を除去
    s = s.lower().replace(" ", "")

    # 初期化
    i = 0
    j = len(s) - 1

    # whileループで前後の文字を比較
    while i < j:
        if s[i] != s[j]:
            return False
        i += 1
        j -= 1

    return True
# テスト
input_string = input("文字列を入力してください: ")
if is_palindrome(input_string):
    print("回文です")
else:
    print("回文ではありません")

この方法では、入力文字列を小文字に変換し、空白を除去します。次に、文字列の前後の文字を比較するために、インデックス ij を使用して、文字列の最初と最後の位置を指定します。ij よりも小さい間、文字を比較し、異なる文字が見つかれば False を返します。すべての文字を比較し終えたら、回文であることを示すために True を返します。

この方法を使用すると、文字列が回文であるかどうかを判定することができます。入力文字列にはスペースや句読点などの特殊文字が含まれていても、回文であるかどうかを正しく判定します。