Python で整数を逆にする

Arjun Adhikari 2023年10月10日
  1. Python で数学的アプローチを使用して数値が回文であるかどうかを確認する
  2. Python で文字列反転アプローチを使用して数値が回文であるかどうかを確認する
  3. Python でリスト反転アプローチを使用して数値が回文であるかどうかを確認する
Python で整数を逆にする

単語または数字、その文字または数字が逆になっている場合、それが同じままである場合、それは回文と呼ばれます。この記事では、提供された番号を逆にすることによって、番号が回文であるかどうかを確認するいくつかの方法を紹介します。

Python で数学的アプローチを使用して数値が回文であるかどうかを確認する

数学的アプローチを使用して、数が回文であるかどうかを確認できます。まず、このメソッドは番号を逆にしてから、元の番号で逆にされた番号をチェックします。両方の値が同じである場合、その数は回文です。数を逆にするために、モジュロ、加算、乗算、除算などの数学演算を適用できます。

たとえば、input() 関数を使用してユーザーに入力を求め、それを original_number 変数に格納します。変数 copy_number を作成し、その中に元の番号のコピーを保存します。別の変数 reversed_number を作成し、それを 0 に初期化します。while ループを使用して、original_number0 より大きいかどうかを確認します。ループ内で、orignal_number の残りを 10 で割ったものを remainder 変数に格納します。剰余を見つけるには、モジュロ%を使用します。次に、reversed_number10 を掛けて、それに remainder を追加します。値を reversed_number 変数に格納します。次に、original_number10 で割り、その値を同じ orginal_number 変数に格納します。ループの外側で、copy_numberreversed_number の値が同じであるかどうかを確認します。値が同じである場合は、回文であるというメッセージを出力します。その逆も同様です。

以下の例では、original_number の状態が反復ごとに変化するため、そのコピーを変数 copy_number に格納しました。ユーザーから与えられた番号は 12321 で、これは逆にした場合と同じであり、プログラムはそれが回文であることを示しています。したがって、数学的アプローチを使用して、数値が回文であるかどうかを確認できます。

サンプルコード:

# python 3.x
original_number = int(input("Enter an integer: "))
copy_number = original_number
reversed_number = 0
while original_number > 0:
    remainder = original_number % 10
    reversed_number = reversed_number * 10 + remainder
    original_number = original_number // 10
if copy_number == reversed_number:
    print(copy_number, "is a palindrome number")
else:
    print(copy_number, "is not a palindrome number")

出力:

Enter an integer: 12321
12321 is a palindrome number

Python で文字列反転アプローチを使用して数値が回文であるかどうかを確認する

Python の文字列反転アプローチを使用して、数値が回文であるかどうかを確認できます。回文チェックには、[::-1] の簡単な操作を使用できます。これは、反復可能、つまりリスト、文字列、タプルなどを逆にするためのワンライナーです。演算子が文字列を操作するときに、整数値を文字列に変換し、文字列を逆にしてから整数に変換できます。

たとえば、ユーザーからの整数入力を取得し、それを number 変数に格納します。str() 関数を使用して数値を文字列に変換し、[::-1] 操作を使用します。式全体を int() 関数でラップして、反転した値を整数に変換します。最後に、if 条件を使用して、number 変数を逆の文字列と比較し、それに応じてメッセージを表示します。

以下の例では、整数を入力として受け取り、それを文字列に変換して、逆にしました。次に、逆数が整数と比較され、number 変数と比較されます。454 の数字を逆にすると同じになりますが、456 の数字を逆にすると 654 になります。したがって、number 変数が回文であるかどうかがわかりました。

サンプルコード:

# python 3.x
number = int(input("Enter a number : "))
if number == int(str(number)[::-1]):
    print(number, "is palindrome.")
else:
    print(number, "is not palindrome.")

出力:

Enter a number : 454
454 is palindrome.

Enter a number : 456
456 is not palindrome.

Python でリスト反転アプローチを使用して数値が回文であるかどうかを確認する

リスト反転方法を使用して、番号を反転し、それが回文であるかどうかを確認できます。str() 関数を使用して、整数入力を要求し、それを文字列に変換できます。文字列をリストに変換する list() 関数を使用できます。reverse() 関数を使用して、リスト項目を逆にすることができます。join() メソッドで' 'セパレータを使用して、リストアイテムを文字列に変換できます。最後に、生成された文字列の整数表現を返すことができます。したがって、逆の数を元の数と比較して、それが回文であるかどうかを確認できます。

たとえば、変数 original_number を作成し、ユーザーからの入力を保存します。str() 関数を適用して数値を文字列に変換してから、list() 関数を適用してリストします。結果を lst_number 変数に格納します。lst_numberreverse() 関数を使用して、リスト要素を逆にします。''区切り文字を使用して、lst_numberjoin() メソッドを呼び出し、リスト項目を単一の文字列に変換します。int() 関数を使用して文字列を整数に変換し、それを original_number と比較します。したがって、その数が回文であるかどうかを確認できます。

サンプルコード:

# python 3.x
original_number = int(input("Enter an integer : "))
lst_number = list(str(original_number))
lst_number.reverse()
reversed_number = "".join(lst_number)
if original_number == int(reversed_number):
    print(original_number, "is palindrome.")
else:
    print(original_number, "is not palindrome.")

出力:

Enter an integer : 99
99 is palindrome.

関連記事 - Python Integer