python用写水仙花数
时间: 2024-05-24 09:07:06 浏览: 97
Python是一种简单易学的编程语言,非常适合初学者。水仙花数是指一个三位数,它的各个位上的数字的立方和等于它本身。下面是用Python编写水仙花数的代码示例:
```python
for num in range(100, 1000):
# 获取百位、十位和个位上的数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds**3 + tens**3 + ones**3:
print(num)
```
这段代码使用了一个`for`循环来遍历所有的三位数。然后,通过整除和取余运算获取百位、十位和个位上的数字。接着,判断这个三位数是否为水仙花数,如果是,则打印出来。
相关问题
用Python代码写水仙花数
Sure, 水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是用Python代码写的水仙花数:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
请问还有什么问题我可以回答吗?
用Python写所有水仙花数
在Python中,水仙花数是指那些等于其各位数字立方之和的三位数。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是一个简单的函数,用于找出所有的水仙花数:
```python
def find_water_lilies(max_num):
# 判断输入是否为正整数
if max_num < 100:
return []
def is_lyric_number(num):
digits = [int(digit) for digit in str(num)]
return num == sum([digit**3 for digit in digits])
water_lilies = []
for i in range(100, max_num+1):
if is_lyric_number(i):
water_lilies.append(i)
return water_lilies
# 找出100到999范围内的所有水仙花数
water_flowers = find_water_lilies(1000)
print("水仙花数有:", water_flowers)
阅读全文