Sum, Count, and Reverse of Digits in Python (While Loop & Recursion)

Published: (April 2, 2026 at 12:49 AM EDT)
2 min read
Source: Dev.to

Source: Dev.to

Sum of digits

Iterative Approach (Using While Loop)

no = int(input("Enter No: "))
sum = 0

while no > 0:
    sum = sum + no % 10
    no = no // 10
else:
    print(sum)

Recursive Approach

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)

Count of digits

Iterative Approach (Using While Loop)

num = int(input("Enter number: "))
count = 0

while num > 0:
    num = num // 10
    count += 1

print("Count =", count)

Recursive Approach

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))

Reverse a Number

Iterative Approach (Using While Loop)

num = int(input("Enter number: "))
rev = 0

while num > 0:
    rev = rev * 10 + num % 10
    num = num // 10

print("Reverse =", rev)

Recursive Approach

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)
0 views
Back to Blog

Related posts

Read more »

DECIMAL NUMBERS

Decimal – Simple Definition A decimal number is a number written using the base‑10 system. To break a decimal number e.g., 2345 into its digits: - no % 10 → ge...

Weekly Challenge: Maximum conflict

markdown !Simon Greenhttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fu...