Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python: 리스트로 표현한 10진수 값의 마지막 자릿수를 1 증가시키는 방법

리스트 형태로 표현된 10진수 값이 입력으로 주어졌을 때, 마지막 자릿수(요소)를 1만큼 증가시켜야 하는 경우가 있습니다. 이때 'increment_num'이라는 메서드를 정의하여 리스트의 마지막 요소가 9보다 작은지 확인하고, 확인 결과에 따라 리스트의 각 요소에 적절한 연산을 수행합니다.

이 방식은 큰 숫자를 자릿수별로 리스트에 저장했을 때, 일반적인 정수형 범위를 넘는 매우 큰 수에도 1을 더하는 연산을 안전하게 처리할 수 있다는 장점이 있습니다.

예제

아래는 이를 구현한 데모입니다.

def increment_num(my_list, n):

   i = n

   if(my_list[i] < 9):

      my_list[i] = my_list[i] + 1
      return

   my_list[i] = 0
   i -= 1

   increment_num(my_list, i)

n = 4

my_list = [0, 1, 4, 7, 9]
print("The list is :")
print(my_list)
increment_num(my_list, n)

if(my_list[0] > 0):
   print(my_list[0], ", ")
print("After incrementing, the list is :")
print(my_list)

출력

The list is :
[0, 1, 4, 7, 9]
After incrementing, the list is :
[0, 1, 4, 8, 0]

설명

  • 'increment_num'이라는 이름의 메서드가 정의되며, 리스트와 숫자를 매개변수로 받습니다.

  • 리스트의 마지막 요소가 9보다 작은지 검사합니다.

  • 9보다 작다면 해당 요소를 1 증가시킨 후 함수를 종료합니다.

  • 만약 마지막 요소가 9라면 올림(carry)이 발생하므로, 해당 자릿수를 0으로 바꾸고 인덱스를 1 감소시킨 뒤 'increment_num' 메서드를 재귀적으로 다시 호출합니다.

  • 함수 외부에서는 'n'의 값과 리스트가 정의됩니다.

  • 정의된 리스트가 콘솔에 출력됩니다.

  • 필요한 매개변수를 전달하여 메서드를 호출합니다.

  • 증가 연산이 완료된 최종 결과가 콘솔에 출력됩니다.

위 예제에서 마지막 요소가 9였기 때문에 올림이 발생하여 해당 자릿수는 0이 되고, 바로 앞 자릿수인 7이 8로 증가한 것을 확인할 수 있습니다.