用python 写2.输出3位数的水仙花数。编写程序,输出100-1000之间的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。 提示:运算符**表示幂运算
时间: 2024-05-24 07:10:28 浏览: 11
for i in range(100, 1000):
# 分离百位、十位、个位数字
digit1 = i // 100
digit2 = (i // 10) % 10
digit3 = i % 10
# 判断是否为水仙花数
if i == digit1**3 + digit2**3 + digit3**3:
print(i)
相关问题
用python 写2.输出3位数的水仙花数。编写程序,输出100-1000之间的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。提示:运算符**表示幂运算
# 方法一:使用for循环和if语句判断
for i in range(100, 1000):
# 求出每个数字的百位、十位、个位
baiwei = i // 100
shiwei = (i % 100) // 10
gewei = i % 10
# 判断是否为水仙花数
if i == baiwei ** 3 + shiwei ** 3 + gewei ** 3:
print(i)
# 方法二:使用列表推导式和lambda表达式
result = filter(lambda x: x == (x // 100) ** 3 + ((x % 100) // 10) ** 3 + (x % 10) ** 3, range(100, 1000))
print(list(result))
用python编写程序,输出100-1000之间的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。
好的,以下是Python程序代码:
```python
for num in range(100, 1000):
# 求出个位、十位、百位数字
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
程序输出结果为:
```
153
370
371
407
```
这些数都是3位数中的水仙花数。