python判断一个整数是水仙花数还是四玫瑰数或者都不是?

如题所述

水仙花数:

一个三位数,其每一位数字的立方和等于该数本身,例如153=1^3+5^3+3^3,153就是一个水仙花数。
代码实现:

num = int(input("请输入一个三位数:"))

# 判断是否为水仙花数

if num == (num // 100)**3 + ((num // 10) % 10)**3 + (num % 10)**3:

print(num, "是一个水仙花数")

else:

print(num, "不是一个水仙花数")

四玫瑰数:

一个四位数,其各位数字的四次方之和等于该数本身,例如1634=1^4+6^4+3^4+4^4,1634就是一个四玫瑰数。

代码实现:

num = int(input("请输入一个四位数:"))

# 判断是否为四玫瑰数

if num == (num // 1000)**4 + ((num // 100) % 10)**4 + ((num // 10) % 10)**4 + (num % 10)**4:

print(num, "是一个四玫瑰数")

else:

print(num, "不是一个四玫瑰数")

判断都不是:

代码实现:

num = int(input("请输入一个数:"))

# 判断是否为水仙花数

if num == (num // 100)**3 + ((num // 10) % 10)**3 + (num % 10)**3:
print(num, "是一个水仙花数")
#

判断是否为四玫瑰数

elif num == (num // 1000)**4 + ((num // 100) % 10)**4 + ((num // 10) % 10)**4 + (num % 10)**4:

print(num, "是一个四玫瑰数")

else:

print(num, "既不是水仙花数也不是四玫瑰数")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-12
水仙花数和四玫瑰数都是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个三位数的水仙花数,因为1³+5³+3³=153。
以下是Python代码来判断一个整数是否是水仙花数或四玫瑰数:
num = int(input("请输入一个整数:"))

# 判断是否是水仙花数
if num == num**3:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")

# 判断是否是四玫瑰数
if num == num**4:
print(num, "是四玫瑰数")
else:
print(num, "不是四玫瑰数")
在这个代码中,我们首先使用input()函数获取用户输入的整数,并将其转换为整数类型。然后,我们使用if语句来判断该整数是否是水仙花数或四玫瑰数。如果是,我们使用print()函数输出相应的信息。如果不是,我们使用print()函数输出另一条信息。
相似回答
大家正在搜