如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。
    1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407
    检测用户输入的数字是否为阿姆斯特朗数


    一开始不知道怎么获取输入数字的位数,后来百度发现len()可以获取长度:
    尝试一:
    num = int(input(“Please input an int number(>0)”))
    lenth = len(num)

    结果:
    Please input an int number(>0)1005
    Traceback (most recent call last):
    File “F:\PycharmWorkSpace\菜鸟教程,Python实例\10阿姆斯特朗数.py”, line 6, in
    lenth = len(num)
    TypeError: object of type ‘int’ has no len()
    则先不把num转化为int。


    尝试二:
    num = input(“Please input an int number(>0)”)
    lenth = len(num)
    print(lenth)

    结果:
    Please input an int number(>0)9999
    4

    好了,可以开始啦~


    除法:
    /是精确除法
    //是向下取整除法
    %是求模,是基于向下取整除法规则的
    四舍五入取整round
    向零取整int
    向下和向上取整函数math.floor, math.ceil


    我的:
    num_0 = input(“Please input an int number(>0)”)
    num = num_0
    lenth = len(num)
    print(“The lenth of the number is “ + str(lenth))
    a = []
    for i in range(lenth, 0, -1):
    t = 10 (i - 1)
    if i == lenth:
    a.append(int(num) // t)
    else:
    k = int(num) - (a[int(lenth) - i - 1] * (10
    i))
    a.append(k // t)
    num = int(num) - (a[int(lenth) - i - 1] (10 * i))
    print(a)

    num_1 = 0
    for i in range(0, lenth):
    num_1 = num_1 + a[i] ** lenth
    print(num_1)
    print(num_0)

    if num_1 == int(num_0):
    print(“This is an amusitelang number!”)
    else:
    print(“This is not an amusitelang number!”)

    结果:
    Please input an int number(>0)370
    The lenth of the number is 3
    [3, 7, 0]
    370
    370
    This is an amusitelang number!


    思考:
    想要将代码模块化,写成函数