Python で整数を逆にする
- Python で数学的アプローチを使用して数値が回文であるかどうかを確認する
- Python で文字列反転アプローチを使用して数値が回文であるかどうかを確認する
- Python でリスト反転アプローチを使用して数値が回文であるかどうかを確認する
単語または数字、その文字または数字が逆になっている場合、それが同じままである場合、それは回文と呼ばれます。この記事では、提供された番号を逆にすることによって、番号が回文であるかどうかを確認するいくつかの方法を紹介します。
Python で数学的アプローチを使用して数値が回文であるかどうかを確認する
数学的アプローチを使用して、数が回文であるかどうかを確認できます。まず、このメソッドは番号を逆にしてから、元の番号で逆にされた番号をチェックします。両方の値が同じである場合、その数は回文です。数を逆にするために、モジュロ、加算、乗算、除算などの数学演算を適用できます。
たとえば、input()
関数を使用してユーザーに入力を求め、それを original_number
変数に格納します。変数 copy_number
を作成し、その中に元の番号
のコピーを保存します。別の変数 reversed_number
を作成し、それを 0
に初期化します。while
ループを使用して、original_number
が 0
より大きいかどうかを確認します。ループ内で、orignal_number
の残りを 10
で割ったものを remainder
変数に格納します。剰余を見つけるには、モジュロ%
を使用します。次に、reversed_number
に 10
を掛けて、それに remainder
を追加します。値を reversed_number
変数に格納します。次に、original_number
を 10
で割り、その値を同じ orginal_number
変数に格納します。ループの外側で、copy_number
と reversed_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_number
の reverse()
関数を使用して、リスト要素を逆にします。''
区切り文字を使用して、lst_number
の join()
メソッドを呼び出し、リスト項目を単一の文字列に変換します。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.