Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 숫자 목록으로 표시되는 숫자에 1을 더하는 프로그램

<시간/>

숫자의 10진수를 포함하는 num이라는 배열이 있다고 가정합니다. 예를 들어, [2, 5, 6]은 256입니다. 이 숫자에 1을 더하고 이전과 같은 형식으로 목록을 반환해야 합니다.

따라서 입력이 nums =[2, 6, 9]와 같으면 출력은 [2, 7, 0]이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • i :=숫자 크기 - 1

  • i>=0인 동안 수행

    • nums[i] + 1 <=9이면

      • 숫자[i] :=숫자[i] + 1

      • 루프에서 나오다

    • 그렇지 않으면

      • 숫자[i] :=0

      • 나는 :=나는 - 1

  • i <0이면

    • 위치 0의 숫자에 1 삽입

  • 숫자 반환

예시

더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

def solve(nums):
   i = len(nums) - 1
   while i >= 0:
      if nums[i] + 1 <= 9:
         nums[i] = nums[i] + 1
         break
      else:
         nums[i] = 0
      i -= 1
   if i < 0:
      nums.insert(0, 1)
   return nums

nums = [2, 6, 9]
print(solve(nums))

입력

[2, 6, 9]

출력

[2, 7, 0]