水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。
附:其他位数的自幂数名字
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
水仙花数实现
for i in range(100,1000): a = int(i/100%10) b = int(i/10%10) c = int(i%10) if a**3 + b**3 +c**3 == i: print("the num is",i)
判断一个数是不是 自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数
def narcissistic_number_1(num): length = len(str(num)) count = length new_num = 0 while count: new_num += (num//(count-1)**10%10)**length count -= 1 else: if new_num == num: print("the num %d is narciss"%d)
计算主要是关注Python的 算数运算符:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 - 返回商的整数部分(向下取整) |
>>> 9//2
4
>>> -9//2
-5
|
优先级 ** > * / % // > + -
python3 的 / 是精确除法,Python2是截取整数。
// 取整 和 % 求余 是可以搭配使用的。