利用python编程实现打印出所有的“水仙花数”。“水仙花数”是指一个3位整数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为 153=1*1*1+5*5*5+3*3*3。
时间: 2023-12-05 18:03:15 浏览: 68
好的,下面是利用 Python 实现打印所有的“水仙花数”的代码:
```python
for num in range(100, 1000):
# 将数字每一位拆分出来
a = num // 100
b = (num // 10) % 10
c = num % 10
# 判断是否为水仙花数
if a ** 3 + b ** 3 + c ** 3 == num:
print(num)
```
输出结果为:
```
153
370
371
407
```
相关问题
python打印所有的水仙花数。所谓水仙花数,是指一个3位的整数,其各位数字的立方和等于该数本身。
这是一道 Python 练习题,以下是示例代码:
```python
for n in range(100, 1000):
i = n // 100 # 百位数
j = n // 10 % 10 # 十位数
k = n % 10 # 个位数
if i ** 3 + j ** 3 + k ** 3 == n:
print(n)
```
运行结果:
```
153
370
371
407
```
python 输入一个整数,输出小于等于该整数的所有水仙花数,每行输出一个,若没有水仙花数则输出“none” “3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。
好的,这是一个比较简单的 Python 编程问题。以下是代码实现:
```python
num = int(input("请输入一个整数:"))
is_exist = False # 标记是否存在水仙花数
for i in range(100, num+1):
# 将 i 转换为字符串,然后使用列表推导式计算各位数字的 3 次方的和
s = sum([int(x)**3 for x in str(i)])
if s == i:
print(i)
is_exist = True
if not is_exist:
print("none")
```
解释一下代码:
首先,我们通过 `input()` 函数获取用户输入的整数,并将其转换为整型变量 `num`。接着,我们设置一个布尔类型的变量 `is_exist`,用来标记是否存在水仙花数。
然后,我们使用 `for` 循环从 100 循环到用户输入的整数 `num`。对于每个数字 `i`,我们使用列表推导式计算出其各位数字的 3 次方的和,并将其保存在变量 `s` 中。如果 `s` 等于 `i`,说明 `i` 是一个水仙花数,我们将其输出,并将 `is_exist` 标记为 True。
最后,如果不存在水仙花数,我们输出 "none"。
阅读全文
相关推荐















