python 编写函数判断水仙花数
时间: 2023-07-07 15:14:59 浏览: 92
可以使用以下代码编写一个函数来判断一个数是否为水仙花数:
```python
def is_armstrong_number(num):
# 计算数位
num_str = str(num)
n = len(num_str)
# 计算每个数位的 n 次方之和
total = sum([int(digit)**n for digit in num_str])
# 判断是否为水仙花数
return total == num
```
函数的参数 `num` 为需要判断的数字,函数会计算该数字的每个数位的 n 次方之和,并判断是否等于原数。如果相等,则说明该数字为水仙花数,函数会返回 `True`,否则返回 `False`。
相关问题
python编写函数判断水仙花数
当一个 3 位数等于其各位数字的立方和时,它被称为水仙花数。可以用以下 Python 函数来判断一个数是否为水仙花数:
```python
def is_armstrong(n):
# 将数字转化为字符串,计算位数
num_digits = len(str(n))
# 计算各位数字的立方和
armstrong_sum = sum([int(digit)**num_digits for digit in str(n)])
# 判断是否为水仙花数
if armstrong_sum == n:
return True
else:
return False
```
示例:
```python
>>> is_armstrong(153)
True
>>> is_armstrong(370)
True
>>> is_armstrong(371)
True
>>> is_armstrong(407)
True
>>> is_armstrong(123)
False
```
Python编写函数判断水仙花数isflower(n)
好的,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。下面是判断一个数是否为水仙花数的函数实现:
```python
def isflower(n):
# 获取各位数字
a = n // 100
b = (n // 10) % 10
c = n % 10
# 判断是否为水仙花数
if a ** 3 + b ** 3 + c ** 3 == n:
return True
else:
return False
```
上面的函数中,首先使用整除运算符 `//` 和取模运算符 `%` 分别获取了三位数的百位、十位和个位数字。然后,使用水仙花数的定义判断该数是否为水仙花数,若是则返回 `True`,否则返回 `False`。可以在函数中加入一些输入检查,例如判断 `n` 是否为三位数,这里就不再赘述。
阅读全文