python语言打印水仙花数
时间: 2023-07-21 19:08:57 浏览: 68
要打印出Python语言中的水仙花数,可以使用以下代码:
```python
lower = 100 # 下限
upper = 999 # 上限
for num in range(lower, upper + 1):
# 求每个数字的位数
order = len(str(num))
# 初始化求和变量
sum = 0
# 求每个位数上的数字的立方和
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** order
temp //= 10
# 如果与原数字相等,则为水仙花数
if num == sum:
print(num)
```
这段代码将会打印出所有的水仙花数,即满足条件的三位数,其各个位数字的立方和等于该数本身。
相关问题
python用写水仙花数
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语言写一个水仙花数
当一个 n 位正整数等于其各位数字的 n 次方之和时,我们称其为水仙花数。例如,153 = 1^3 + 5^3 + 3^3 是一个三位水仙花数。
下面是使用 Python 语言编写的水仙花数代码:
```python
def is_narcissistic(num):
# 转换为字符串并计算位数
n = len(str(num))
# 初始化求和变量
sum = 0
# 计算各位数字的 n 次方之和
for digit in str(num):
sum += int(digit) ** n
# 判断是否为水仙花数
return sum == num
# 打印 1000 以内的水仙花数
for i in range(1000):
if is_narcissistic(i):
print(i)
```
该程序会打印出所有 1000 以内的水仙花数。你也可以根据需要修改范围。