Python의 역정수
- 수학적 접근 방식을 사용하여 Python에서 숫자가 회문인지 확인
- 문자열 반전 접근 방식을 사용하여 Python에서 숫자가 회문인지 확인
- 목록 반전 접근 방식을 사용하여 숫자가 Python에서 회문인지 확인
단어나 숫자가 그 문자나 숫자가 뒤바뀌었을 때, 그대로 남아 있으면 회문(palindrome)이라고 합니다. 이 기사에서는 제공된 숫자를 반대로 하여 숫자가 회문인지 확인하는 몇 가지 방법을 소개합니다.
수학적 접근 방식을 사용하여 Python에서 숫자가 회문인지 확인
수학적 접근 방식을 사용하여 숫자가 회문인지 확인할 수 있습니다. 먼저 이 방법은 번호를 반대로 한 다음 원래 번호로 반전된 번호를 확인합니다. 두 값이 같으면 숫자는 회문입니다. 모듈로, 덧셈, 곱셈, 나눗셈과 같은 수학 연산을 적용하여 숫자를 뒤집을 수 있습니다.
예를 들어 input()
함수를 사용하여 사용자에게 입력을 요청하고 original_number
변수에 저장합니다. 변수 copy_number
를 만들고 original number
의 복사본을 그 안에 저장합니다. 다른 변수 reversed_number
를 만들고 0
으로 초기화합니다. while
루프를 사용하여 original_number
가 0
보다 큰지 확인합니다. 루프 내부에서 remainder
변수에 orignal_number
를 10
으로 나눈 나머지를 저장합니다. 나머지를 구하려면 모듈로 %
를 사용하십시오. 그런 다음 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에서 숫자가 회문인지 확인
파이썬에서 문자열 반전 접근 방식을 사용하여 숫자가 회문인지 확인할 수 있습니다. 회문 검사를 위해 [::-1]
단축 연산을 사용할 수 있습니다. 이터러블, 즉 목록, 문자열, 튜플 등을 뒤집기 위한 한 줄짜리입니다. 연산자가 문자열로 작업할 때 정수 값을 문자열로 변환하고 문자열을 뒤집은 다음 정수로 변환할 수 있습니다.
예를 들어, 사용자로부터 정수 입력을 받아 number
변수에 저장합니다. str()
함수를 사용하여 number
를 문자열로 변환하고 [::-1]
연산을 사용합니다. 전체 표현식을 int()
함수로 감싸서 반전된 값을 정수로 변환합니다. 마지막으로 if
조건을 사용하여 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에서 회문인지 확인
List 반전 방법을 사용하여 숫자를 뒤집고 회문인지 확인할 수 있습니다. 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.