回文プログラム Python
回文プログラムとは Python?
回文は、位置を反転しても同じ値を表示する文字列または数値として定義できます。 簡単に言うと、反転しても変化しないということです。
Example: deed, 101
逆引きした単語と実際の単語 (数値または文字列) を比較すると、同じ結果が得られます。
回文の種類
In Python 言語, 回文には以下のXNUMX種類があります。
- 複数の単語の回文: これは、元の単語と反転した単語の値が同じである複数の単語の組み合わせです。
- 単一単語の回文: これは、元の単語と反転した単語の値が同じである単一の単語です。
- 数字の回文: これは、元の数値と反転した数値が同じ値になる数値です。与えられた入力は、前方から見ても後方から見ても同じままです。
回文数を求めるアルゴリズム Python
回文数を確認するには、次のアルゴリズムを適用できます。
ステップ1) ' として変数宣言を実行します。I' そして変数を読み取ります。
ステップ2) 割当 'I' を一時変数 j に渡します。 i=j
ステップ3) 以下に示す手順でループを実行します。 –
- M=I%10
- L=長さ×10+中
- I = I / 10
ステップ4) 一時変数と l を比較します。 L==J.
ステップ5) 条件が満たされた場合に回文となる数値を出力します。
ステップ6) 条件が満たされない場合は、数値を回文ではないものとして出力します。
ステップ7) 終わり
上記のアルゴリズムは、回文数に適用される。 Python.
方法1: 回文数 Python 後方スライスの使用
後方へのスライス Python 通常は、元のプログラムのサブセット ステートメントを使用します。サブセット ステートメントではループも使用できます。 Pythonの回文プログラムは後方スライスすることができます。
次の Python プログラムは、後方ループを使用して文字列が回文であるかどうかを判断します。
回文文字列プログラム Python コード:
a='deed' lena=len(a) b=[] for i in range(lena - 1, -1, -1): b.append(a[i]) rev = "".join(b) print(a + " is: ", end="") if a == rev: print("Palindrome") else: print("Not Palindrome")
出力:
deed is: Palindrome
コードの説明:
- XNUMXμmの波長を持つ Python コードは、メイン文字列の長さと Python 範囲関数。
- 次に、文字列 b が文字列区切り文字を使用して空の文字列 rev と結合されます。 「.
方法2: 回文プログラム Python フラグの使用
フラグ変数は以下で定義できます。 Python 回文を識別します。フラグは 0 に初期化されます。次のプログラムは、フラグ パラメータの使用方法を示しています。
Python 回文プログラムのコード:
Pld = "deed" m = -1 flag = 0 for char in Pld: if char != Pld[m]: flag = 1 break m = m - 1 print(Pld + " is: ", end="") if flag: print("Not Palindrome") else: print("Palindrome") print(flag)
出力:
deed is: Palindrome 0
コードの説明:
- チャーの Python インデックスは 0 から始まります。
- m は -1 に初期化されているため、文字列は負のインデックスとして逆から読み取られます。
- if ステートメントを使用した for ループは、文字列内に存在するインデックス 0 で始まる各文字が文字列の逆インデックスと一致するかどうかをチェックします。
- ただし、一致しない場合は、プログラムはフラグを 1 に初期化し、一致する場合は 0 に初期化します。
方法3: 回文をチェックする Python 文字を逆にして
この回文プログラムでは、charメソッドを使用して文字列を反転します。 Python元の文字列を逆順に照合して、文字列が回文であるかどうかを判断します。
Python 回文プログラムコード:
Base = "123" reverse = "" for char in Base: reverse = char + reverse print("Palindrome") if Base == reverse else print("Not Palindrome") print("Original string is: " + str(Base)) print("reverse string is: " + str(reverse)) Base = "101" reverse = "" for char in Base: reverse = char + reverse print("Palindrome") if Base == reverse else print("Not Palindrome") print("Original string is: " + str(Base)) print("reverse string is: " + str(reverse)) Base = "deed" reverse = "" for char in Base: reverse = char + reverse print("Palindrome") if Base == reverse else print("Not Palindrome") print("Original string is: " + str(Base)) print("reverse string is: " + str(reverse))
出力:
Not Palindrome The original string is: 123 The reverse string is: 321 Palindrome The original string is: 101 The reverse string is: 101 Palindrome The original string is: the deed The reverse string is: the deed
コードの説明:
- Pythonの str 関数は、数値形式を文字列形式に変換するのに役立ちます。プログラムはまず、値 123 が回文かどうかを確認します。
- 次に、値 101 と証書の文字列値をチェックします。
- コードは、数値形式と文字列形式の両方について、値が回文であるかどうかをチェックします。
方法4: 回文をチェックする方法 Python 文字マッチングを使用する
この回文メソッドでは、プログラムは、for ループ、range 関数、および Len 関数を使用して、文字列内の各文字が逆文字列と一致するかどうかをチェックします。
Python コード:
def PalindromeComparator(original): for i in range(0, len(original)): if original[i] != original[len(original) - i - 1]: return False return True Base = "deed" print("Palindrome") if PalindromeComparator(Base) else print("Not Palindrome")
出力:
Not Palindrome
コードの説明:
- Palindrome Comparator というラベルの付いたユーザー定義関数は、値が文字列であるかどうかをチェックします。
- プログラムは、元の文字列と元の文字列の逆文字列を比較します。 基準 オリジナル[i]!= オリジナル[len(オリジナル) – i – 1].
- 上記のプログラムは、長さ手法を利用して文字列の長さを決定します。
方法5: 回文 Python 再帰を使用する
In Python再帰とは、関数が特定の基準に従って繰り返し自身を呼び出すことを意味します。このようにして、同じ関数構造を使用して問題をより小さな問題に分割することができます。再帰プログラミングロジックを使用することで、回文文字列もチェックできます。
Python コード:
def palcomprec(number, oppo): if number == 0: return oppo remainder = int(number % 10) oppo = (oppo * 10) + remainder return palcomprec(int(number / 10), oppo) Base = 12321 reverse = 0 reverse = palcomprec(Base, reverse) print(str(Base) + " is: ", end="") print("Palindrome") if reverse == Base else print("Not Palindrome")
出力:
12321 is: Palindrome
コードの説明:
- このプログラムは、それ自体を再帰的に呼び出すユーザー定義関数を利用します。
- 元の数値が分解され、その残りの値が反対の値に加算されます。
- 反対の値は、剰余の値を加算する前に、まず 10 で乗算されます。
方法 6: While ループを使用して回文を確認する方法
while ループは、適用された条件が true になるまで、反復ベースでコードの実行を実行します。
- 反復法を使用して、整数値が回文であるかどうかを確認できます。
- XNUMXμmの波長を持つ Python プログラムは一時的な数値とモジュロ演算子を利用します。
Python コード:
original = 101 temporary = original reverse = 0 while temporary > 0: remainder = temporary % 10 reverse = (reverse * 10) + remainder temporary = temporary // 10 if original == reverse: print('Palindrome') else: print("Not Palindrome")
出力:
Palindrome
コードの説明:
- このプログラムは、一時的な数値がゼロより小さいかどうかをチェックする while ループを利用します。
- モジュロ演算子は元の数値の余りを計算します。
- 元の数値を 10 で割ります。
- 逆パラメータは 10 を乗算して計算されます。
- 結果の数値が残差に加算されます。
- 上記のプログラムは、元の数と逆の数をチェックして、回文かどうかを分類します。
まとめ:
- 回文は逆方向から比較した値であり、順方向も同じになります。 さまざまな数学パズルに使用されます。
- いくつかの方法を採用することができる Python 値が回文かどうかを比較します。使用される手法は次のとおりです: – 後方スライス、文字の一致、再帰、ループの使用、rev、Len、str 関数、定義済み関数、再帰など。