在此示例中,您将学习检查n位整数是否是Armstrong数字。
要理解此示例,您应该了解以下Python编程主题:
一个正整数称为阿姆斯特朗阶数,n如果
abcd... = an + bn + cn + dn + ...
如果是3位的阿姆斯特朗数字,则每个数字的立方和等于该数字本身。例如:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153是一个阿姆斯特朗数。
# 检查该数字是否为阿姆斯壮数字的Python程序 # 接受用户的输入 num = int(input("输入一个数字: ")) # 初始化sum sum = 0 # 求出每个数字的立方和 temp = num while temp > 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # 显示结果 if num == sum: print(num,"是阿姆斯特朗数") else: print(num,"不是阿姆斯特朗数")
输出1
输入一个数字: 456 456 不是阿姆斯特朗数
输出2
输入一个数字: 407 407 是阿姆斯特朗数
在这里,我们要求用户输入一个数字,然后检查它是否是一个阿姆斯特朗数字。
我们需要计算每个数字的立方和。因此,我们将总和初始化为0,并使用模运算符(%)获得每个数字。将数字除以10所得的余数是该数字的最后一位。 我们使用指数运算符获取多维数据集。
最后,我们将总和与原始数字进行比较,得出结论,如果它们相等,则是阿姆斯特朗数。
num = 1634 # 将num变量更改为string # 并计算出长度(位数) order = len(str(num)) # 初始化 sum sum = 0 # 求出每个数字的立方和 temp = num while temp > 0: digit = temp % 10 sum += digit ** order temp //= 10 # 显示结果 if num == sum: print(num,"是阿姆斯特朗数") else: print(num,"不是阿姆斯特朗数")
您可以更改源代码中num的值,然后再次运行以对其进行测试。