python语言判断水仙花
时间: 2024-09-11 08:08:58 浏览: 47
在Python中,判断一个数是否是水仙花数通常是指判断它是否是一个三位数,并且它的每个位上的数字的立方和等于它本身。水仙花数也被称为自恋数、自幂数、阿姆斯壮数。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
下面是使用Python语言来判断一个三位数是否是水仙花数的代码示例:
```python
def is_narcissistic_number(num):
# 将数字转换为字符串,以便可以遍历每一位数字
str_num = str(num)
# 如果数字不是三位数,则直接返回False
if len(str_num) != 3:
return False
# 计算每一位数字的立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in str_num)
# 判断立方和是否等于原数
return sum_of_cubes == num
# 示例
num = 153
print(is_narcissistic_number(num)) # 输出: True
```
这个函数首先将输入的数字转换为字符串,然后检查字符串的长度是否为3,如果不是三位数则直接返回False。如果是一个三位数,它会通过列表推导式计算每一位数字的立方和,并与原数进行比较,如果相等则说明是水仙花数,返回True,否则返回False。
相关问题
用python语言编写水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,输出所有3位的水仙花数
```python
for i in range(100, 1000):
# 取出百位、十位、个位上的数字
a = i // 100
b = i // 10 % 10
c = i % 10
# 判断是否为水仙花数
if i == a**3 + b**3 + c**3:
print(i)
```
输出结果:
```
153
370
371
407
```
用Python语言判断一个数是否为水仙花数
可以使用以下代码来判断一个数是否为水仙花数:
```python
num = int(input("请输入一个数字:"))
sum = 0
n = len(str(num))
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
这段代码会先让用户输入一个数字,然后计算出该数字的位数,并逐位计算该数字的各个位数的 n 次方之和。如果最终的和等于原来的数字,则说明该数字是水仙花数。
阅读全文