检查3位数字是否为armstrong数字,并通过在python3中描述函数返回布尔值

2024-05-23 23:11:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用输入法,但无法返回布尔值作为函数的输出。 给定一个3位数字,检查它是否为埃数


Tags: 函数数字输入法
1条回答
网友
1楼 · 发布于 2024-05-23 23:11:49

阿姆斯特朗数是一个数字的立方和等于该数字的数

如果您的输入被视为字符串,那么您可以对这些数字进行迭代,因为字符串在python中是可编辑的:

def is_armstrong(num):
    return str(sum(int(digit)**3 for digit in num)) == num

如果您已经将输入作为一个数字,您可以通过在每次迭代中取数字的modolu 10来“迭代”这些数字,以提取最后一个数字:

def is_armstrong(num):
    n = num
    s = 0
    while n > 0:
        digit = n % 10
        s += digit ** 3
        n //= 10

    return s == num

相关问题 更多 >