水仙花数python代码while循环
时间: 2023-06-05 09:47:31 浏览: 196
下面是使用Python语言编写的while循环语句,用于计算水仙花数:
i = 100
while i < 1000:
a = i // 100
b = i // 10 % 10
c = i % 10
if i == a ** 3 + b ** 3 + c ** 3:
print(i)
i += 1
该代码使用循环变量i从100循环到999,分别获取i百位、十位和个位数字,如果这个数字满足水仙花数的定义,则输出到屏幕。
相关问题
水仙花数pythonfor循环
### 使用Python For循环实现水仙花数算法
为了找出所有的三位数中的水仙花数,可以采用如下所示的Python代码。这段代码利用`for-in`循环遍历所有可能的三位数值,并通过简单的数学运算验证这些值是否为水仙花数。
```python
def find_narcissistic_numbers():
result = []
for num in range(100, 1000): # 只考虑三位数
temp_num = num
sum_cubes = 0
while temp_num > 0:
digit = temp_num % 10
sum_cubes += digit ** 3
temp_num //= 10
if sum_cubes == num:
result.append(num)
return result
if __name__ == "__main__":
print(find_narcissistic_numbers())
```
上述代码定义了一个名为`find_narcissistic_numbers()`函数,用于寻找并返回列表形式的结果集,其中包含了符合条件的所有三位数水仙花数[^2]。此方法首先初始化一个空列表`result`用来存储找到的每一个水仙花数;接着设置了一个`for`循环迭代器,在每次迭代过程中处理当前数字(`num`)及其各个位置上的单独数字(`digit`)。对于每一位数字都计算其立方值并将它们相加得到总和(`sum_cubes`)。如果最终获得的总和正好等于原始输入数字,则说明这是一个有效的水仙花数,并将其加入到结果集中[^3]。
判断水仙花数python代码
以下是一个判断水仙花数的 Python 代码:
```python
num = int(input("请输入一个三位数:"))
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
该程序首先通过 `input()` 函数获取用户输入的一个三位数。然后,使用 `while` 循环和取模运算符 `%` 分别取出该数的百位、十位和个位上的数字,并计算立方和。最后,判断该数和立方和是否相等,如果相等,则说明该数是水仙花数,否则不是水仙花数。
阅读全文