Python 程序:检查是否为阿姆斯特朗数


2022 年 2 月 1 日, Learn eTutorial
1697

在这个简单的 Python 程序中,我们需要检查一个数是否为阿姆斯特朗数。这是一个初学者级别的 Python 程序。

要理解这个例子,您应该了解以下 Python 编程主题

什么是阿姆斯特朗数?

在这个基础的 Python 程序中,我们需要了解什么是阿姆斯特朗数。阿姆斯特朗数是指一个数,其每个数字的(数字总位数次)幂之和等于该数本身。要了解更多关于阿姆斯特朗数的信息,我们有一篇有趣的博客文章:《阿姆斯特朗数的基础知识》。

三位阿姆斯特朗数

如果一个三位数每个数字的立方和等于该数本身,则该三位数是阿姆斯特朗数。.

例如,我们取数字 153,并检查该数字是否为阿姆斯特朗数,

  • 我们需要取 1、5 和 3 的立方
  • 将这些立方数相加
  • 并检查结果是否等于 153?
  • 如果是 153,则是阿姆斯特朗数。否则不是。
  • 这里 1+125+27 = 153,所以 它是阿姆斯特朗数

如何在 Python 中实现三位阿姆斯特朗数检查?

在这个简单的 Python 程序中,我们需要接受用户输入的数字,并初始化 `sum` 和 `temp` 变量。使用 Python 中的 `while` 循环,直到数字大于零。使用 `mod(%)` 运算符将数字除以 10,将其拆分为各位数字,并计算每个数字的立方和。最后,将数字除以 10 以移除一个数字。然后取该数字的立方,并将其与其他的数字立方相加,依此类推。计算完成后,检查 `sum` 和数字是否相同?如果相同,则显示该数字是阿姆斯特朗数,否则显示不是。

算法

步骤 1: 使用 Python 编程语言中的 `input` 函数接受用户输入的数字,并使用 `int()` 将该字符串转换为整数,以检查是否为阿姆斯特朗数。

步骤 2: 将 `sum` 初始化为零,并使用 `temp` 变量保存用户输入的数字。

步骤 3: 添加一个 `while` 循环,用于从用户输入的数字中分离数字并计算每个数字的立方和,然后执行步骤 4、5、6。

步骤 4: 使用模运算符从数字中取出一个数字。

步骤 5: 计算总和为 总和 + 该数字的立方。

步骤 6: 将数字除以 10 以移除该数字并继续循环。

步骤 7: 使用 if 条件检查 数字 == 总和,如果正确,则使用 Python 语言中的 `print` 语句打印该数字是阿姆斯特朗数,否则不是阿姆斯特朗数。

Python 源代码

                                          number = int(input("Enter a number: "))  
sum = 0  
temp = number  
  
while temp > 0:  
   integer = temp % 10   
   sum += integer ** 3  
   temp //= 10  

if number == sum:  
   print(number,"is an Armstrong number")  
else:  
   print(number,"is not an Armstrong number")  
                                      

输出

Enter a number:  153

153 is an Armstrong number