python单层循环结构水仙花数
时间: 2023-11-20 13:58:16 浏览: 42
以下是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)
```
该程序通过for循环遍历100到999之间的所有整数,将每个整数拆分为个位、十位、百位,然后判断该整数是否为水仙花数。如果是,则输出该整数。
相关问题
python多层循环结构水仙花数
以下是Python多层循环结构判断水仙花数的例子:
```python
# 多层循环结构判断水仙花数
n = int(input())
flag = False # 标记是否找到水仙花数
for i in range(100, n):
for j in range(10):
for k in range(10):
if i == j**3 + k**3 + (i//100)**3 + (i//10)%10**3:
flag = True
break
if flag:
break
if flag:
break
if flag:
print("有水仙花数")
else:
print("没有水仙花数")
```
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
```
请根据你的需要选择其中一种方法来运行并输出循环的三位水仙花数。