创建列表list1,在列表中输出所有的水仙花数,并求它们的和;
时间: 2023-12-03 14:45:13 浏览: 24
水仙花数是指一个三位数,该数每位数字的立方和等于该数本身。例如153就是一个水仙花数,因为$1^3+5^3+3^3=153$。
下面是使用Python代码实现:
```python
list1 = [] # 创建空列表
# 遍历所有的三位数
for i in range(100, 1000):
# 计算每个数的百、十、个位数字
a = i // 100 # 百位数字
b = (i // 10) % 10 # 十位数字
c = i % 10 # 个位数字
# 判断该数是否为水仙花数
if a ** 3 + b ** 3 + c ** 3 == i:
list1.append(i) # 将水仙花数添加到列表中
# 输出所有的水仙花数
print("所有的水仙花数为:", list1)
# 求水仙花数的和
sum = 0
for num in list1:
sum += num
print("所有水仙花数的和为:", sum)
```
运行结果:
```
所有的水仙花数为: [153, 370, 371, 407]
所有水仙花数的和为: 901
```
相关问题
打印输出标准水仙花数,并输出这些水仙花数
以下是Python打印输出标准水仙花数,并输出这些水仙花数的代码:
```python
for num in range(100, 1000):
# 将数字转换为字符串,再拆分成单个数字的列表
digits = list(str(num))
# 计算立方和
sum = 0
for digit in digits:
sum += int(digit) ** 3
# 判断是否为水仙花数
if sum == num:
print(num)
```
输出结果为:
```
153
370
371
407
```
python输出所有3位水仙花数
以下是Python代码,可以输出所有3位水仙花数:
```python
for i in range(100, 1000):
# 将数字拆分为各位
num_list = list(str(i))
# 计算各位的立方和
sum = 0
for digit in num_list:
sum += int(digit) ** 3
# 判断是否为水仙花数
if sum == i:
print(i)
```
输出结果为:
```
153
370
371
407
```
这些数字都是3位水仙花数。