水仙花数python代码带文字解释
时间: 2023-09-07 16:02:16 浏览: 68
水仙花数,也称为阿姆斯特朗数,是指一个n位数,其各个数字的n次方之和等于该数本身。如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个Python代码示例,用于判断一个数是否为水仙花数,并带有相应的文字解释:
```python
num = int(input("请输入一个数:")) # 获取用户输入的数,并转换为整型
# 初始化变量sum和temp
sum = 0
temp = num
# 计算每个数字的n次方之和
while temp > 0:
digit = temp % 10 # 获取最后一位数字
sum += digit ** 3 # 将每一位数字的三次方相加
temp //= 10 # 去掉最后一位数字
# 输出判断结果
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
首先,我们通过`input()`函数获取用户输入的数,并将其转换为整型。然后,我们初始化两个变量`sum`和`temp`,其中`sum`用于累加每个数字的n次方之和,`temp`用于临时存储用户输入的数。
接下来,我们通过一个循环,每次取`temp`的最后一位数字,并累加该数字的三次方到`sum`中。然后,将`temp`去掉最后一位数字并更新`temp`的值。
最后,我们通过判断`num`是否等于`sum`来确定输入的数是否是水仙花数,并输出相应的结果。
这段代码使用了循环和取模运算,通过对用户输入的数进行逐位相加并判断最终结果,以判断是否为水仙花数。