水仙花数 Python

水仙花数只是自幂数的一种,严格来说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是截取整数。

//  取整  和  %  求余  是可以搭配使用的。

posted @ 2019-08-30 19:38  马克图  阅读(2435)  评论(0编辑  收藏  举报