python判断水仙花数最简单解法(python判断水仙花数调用)
python程序的功能是输入一个三位数,判断是否是水仙花数。
#-*-coding:utf-8;-*-
n=int(input('请输入水仙花数'));
i = n / 100;
j = n / 10 % 10;
k = n % 10;
if n == i ** 3 + j ** 3 + k ** 3:print('%d是水仙花数'%n);
else: print('%d不是水仙花数'%n);
python使用函数实现水仙花数?
答: 首先要明白水仙花数的定义,它是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。所以问题就转化为我们如何将三位数的个位、十位和百位都表示出来。然后再遍历100~999的每一个数字去判断其是否为水仙花数。具体代码如下所示。
最终的运行结果如下,水仙花数总共有4个,具体如图片所示。
用python确认一个数是不是水仙花数
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
给你写个例子:
def check_num_is_shuixianhua(num):
'''判断一个数字是否是水仙花数
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
(例如:1^3 + 5^3+ 3^3 = 153)'''
#水仙花数必须大于3位
if num 100:
return False
#水仙花数只计算整数
if type(num) != int:
return False
tmp = str(num)
len_num = len(tmp)
num_list = []
for i in range(len_num):
num_list.append(int(tmp[i]))
sum_num = 0
for i in num_list:
sum_num += (i ** len_num)
if sum_num == num:
return True
else:
return False
python输入一个数,判断是不是水仙花数
num = int(input("请输入一个三位数子:"))
gw = num%10 #取个位数
sw = num%100//10#取百位数
bw = num//100 #取百位数
total = gw ** 3 + sw ** 3 + bw ** 3
#print(total)
if num == total:
print("该数字是一个水仙花数")
else:
print("不是水仙花数")