用简单python代码判断输入的数是不是四位玫瑰花数
时间: 2024-02-06 20:10:17 浏览: 108
四位玫瑰花数是指一个四位数,该数的每个数字的立方和等于该数本身。
以下是判断输入的数是否为四位玫瑰花数的简单 Python 代码:
```python
n = int(input("请输入一个四位数:"))
sum = 0
temp = n
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if n == sum:
print(n, "是四位玫瑰花数")
else:
print(n, "不是四位玫瑰花数")
```
这里用了一个 while 循环来计算输入的数的每个数字的立方和。如果该和等于输入的数本身,则说明输入的数是四位玫瑰花数,否则不是。
相关问题
用python判断输入的数是不是四位玫瑰花数
四位玫瑰花数指的是一个四位数,其各个数位数字的立方和等于该数本身。比如说,1634 就是一个四位玫瑰花数,因为 1^3 + 6^3 + 3^3 + 4^3 = 1634。
下面是用 Python 判断输入的数是否为四位玫瑰花数的代码:
``` python
num = input("请输入一个四位数:")
if len(num) != 4: # 判断输入是否为四位数
print("输入错误,请重新输入。")
else:
sum = int(num[0])**3 + int(num[1])**3 + int(num[2])**3 + int(num[3])**3
if sum == int(num):
print(num, "是一个四位玫瑰花数。")
else:
print(num, "不是一个四位玫瑰花数。")
```
代码中,首先通过 `input()` 函数获取用户输入的四位数,然后判断输入是否为四位数。如果不是,则输出提示信息并让用户重新输入。如果输入正确,则计算各个数位数字的立方和,并将它与原数比较,判断是否为四位玫瑰花数。
判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否为玫瑰花数,若是则输出“num 是玫瑰花数”,否则输出“num 不是玫瑰花数”。
好的,我可以为您提供一个判断四位数是否为玫瑰花数的函数,您可以将其嵌入到您的代码中:
```python
def is_narcissistic_num(num):
if num < 1000 or num > 9999:
return False
digit_1 = num // 1000
digit_2 = (num % 1000) // 100
digit_3 = (num % 100) // 10
digit_4 = num % 10
if num == digit_1 ** 4 + digit_2 ** 4 + digit_3 ** 4 + digit_4 ** 4:
return True
else:
return False
```
您可以将您从键盘输入的数字作为参数传递给该函数,如果函数返回 True,则说明该数字是玫瑰花数,否则为 False。以下是一个示例代码:
```python
num = int(input("请输入一个四位数:"))
if is_narcissistic_num(num):
print(num, "是玫瑰花数")
else:
print(num, "不是玫瑰花数")
```
希望能对您有所帮助。
阅读全文