Python 中数字的求和、计数和反转(While Loop & Recursion)

发布: (2026年4月2日 GMT+8 12:49)
2 分钟阅读
原文: Dev.to

Source: Dev.to

位数之和

迭代方法(使用 while 循环)

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)

位数计数

迭代方法(使用 while 循环)

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

反转数字

迭代方法(使用 while 循环)

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

相关文章

阅读更多 »

每周挑战:最大冲突

抱歉,我没有看到需要翻译的完整文本。请您提供完整的摘录或摘要内容,我才能为您进行翻译。

Python 中的矩阵

定义矩阵 python matrix = 1, 2, 3, 4, 5, 6, 7, 8, 9 创建 3x3 矩阵 python matrix_3x3 = 0 3 for in range3 常见矩阵问题 转置矩阵