在Python中,用字符串索引的方式证明水仙花数
时间: 2024-09-26 18:11:49 浏览: 39
浙大版《Python 程序设计》题目集对应代码.rar
在Python中,水仙花数(也称作 narcissistic number 或 pluperfect digital invariant)是指一个n位正整数,其各位数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
如果你想要通过字符串索引来验证一个数字是否为水仙花数,首先需要将数字转换成字符串,然后逐位取出每一位的数字并计算它们的立方。以下是简单的步骤:
```python
def is_narcissistic_number(num):
# 转换为字符串便于处理每一位
num_str = str(num)
# 确保数字是三位数
if len(num_str) != 3:
return False
# 计算每位数字的三次方之和
sum_of_cubes = sum(int(digit)**3 for digit in num_str)
# 比较原数和其各位立方和
return num == sum_of_cubes
# 测试
test_numbers = [153, 370, 371, 407]
for num in test_numbers:
if is_narcissistic_number(num):
print(f"{num} 是水仙花数")
else:
print(f"{num} 不是水仙花数")
阅读全文