python三位数的水仙花
时间: 2024-03-14 12:41:41 浏览: 61
水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。在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)
```
运行以上代码,会输出所有的三位数水仙花数:153、370、371、407。
相关问题
python三位数水仙花数
以下是Python求解三位数水仙花数的代码和解释:
```python
# 方法一:使用for循环和if条件语句
for i in range(100, 1000):
# 获取百位、十位、个位数字
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i, end=' ')
```
```python
# 方法二:使用列表推导式
lst = [i for i in range(100, 1000) if (i//100)**3 + ((i//10)%10)**3 + (i%10)**3 == i]
print(lst)
```
方法一中,我们使用for循环遍历100到999之间的所有整数,然后使用整除和取余运算符获取百位、十位和个位数字。接着,我们使用if条件语句判断该数是否为水仙花数,如果是,则将其输出。
方法二中,我们使用列表推导式一次性生成所有的水仙花数,并将其存储在一个列表中,然后输出该列表。
python循环三位水仙花数
以下是使用Python编写循环三位水仙花数的代码示例:
```python
print('三位水仙花数:', end='')
for i in range(100, 1000):
units = i % 10
tens = i % 100 // 10
hundreds = i // 100
if i == (units ** 3) + (tens ** 3) + (hundreds ** 3):
print(i, end=' ')
```
或者,你也可以使用另一种方法来判断水仙花数:
```python
while True:
num = float(input('请输入三位数整数:'))
if num > int(num):
print('{}不是整数!!!'.format(num))
continue
if num < 100 or num > 999:
print('{}不是三位正整数!!!'.format(int(num)))
continue
units = num % 10
tens = num % 100 // 10
hundreds = num // 100
if num == (units ** 3) + (tens ** 3) + (hundreds ** 3):
print('{}是水仙花数'.format(int(num)))
else:
print('{:.0f}不是水仙花数'.format(num))
```
还可以使用另一种方法来判断水仙花数:
```python
L = 100
while L < 1000:
s = L // 100
z = (L - s * 100) // 10
a = L - s * 100 - z * 10
if L == (s ** 3) + (z ** 3) + (a ** 3):
print("L=", L)
L += 1
```
请根据你的需要选择其中一种方法来运行并输出循环的三位水仙花数。
阅读全文