Python에서 자리수의 합, 개수 및 역순 (While Loop & Recursion)
발행: (2026년 4월 2일 PM 01:49 GMT+9)
2 분 소요
원문: Dev.to
Source: Dev.to
자리수의 합
반복적 접근법 (Using While Loop)
no = int(input("Enter No: "))
sum = 0
while no > 0:
sum = sum + no % 10
no = no // 10
else:
print(sum)
재귀적 접근법
def sum_of_digits(no):
if no == 0: # Base condition
return 0
return (no % 10) + sum_of_digits(no // 10)
no = int(input("Enter No: "))
result = sum_of_digits(no)
print(result)
자리수 개수
반복적 접근법 (Using While Loop)
num = int(input("Enter number: "))
count = 0
while num > 0:
num = num // 10
count += 1
print("Count =", count)
재귀적 접근법
def count_digits(num):
if num == 0: # base condition
return 0
return 1 + count_digits(num // 10)
num = int(input("Enter number: "))
# handle edge case when input is 0
if num == 0:
print("Count = 1")
else:
print("Count =", count_digits(num))
숫자 뒤집기
반복적 접근법 (Using While Loop)
num = int(input("Enter number: "))
rev = 0
while num > 0:
rev = rev * 10 + num % 10
num = num // 10
print("Reverse =", rev)
재귀적 접근법
def reverse_number(num, rev=0):
if num == 0: # base condition
return rev
return reverse_number(num // 10, rev * 10 + num % 10)
num = int(input("Enter number: "))
result = reverse_number(num)
print("Reverse =", result)