龙空技术网

Python初学者练习: 输出阿姆斯特朗数

信息科技云课堂 102

前言:

如今咱们对“python开n次方函数怎么写”都比较着重,我们都需要剖析一些“python开n次方函数怎么写”的相关资讯。那么小编在网摘上收集了一些对于“python开n次方函数怎么写””的相关内容,希望朋友们能喜欢,大家快快来了解一下吧!

如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。

例如:

当n=3时,其各个数之立方和等于该数,又称水仙花数。

1^3+5^3+3^3=153

n=4

1^4+6^4+3^4+4^4=1634

153、1634都称为阿姆斯特朗数

对于给定数n,n%10获取最后一位数,n//10获取去掉最后一位数的新整数,循环迭代,计算求和,与给定数比较。

代码说明:

import math:导入数学模块,使用pow()函数

定义order()函数,获取给定数的位数

定义isArmstrong()函数,对给定数进行验证

return sum1==x,如果给定数等于各位数n次方之和,返回True,即是阿姆斯特朗数;否则,返回False,不是阿姆斯特朗数。

进一步简化程序代码

第3行,将给定正整数转换为字符串,使用len()函数计算位数。

第7行,使用算术运算符**计算乘方。

将输入数字转换为字符串并循环访问字符串中的每个数字,转换为数值计算乘方,并求和。如果最终的总和等于输入数,则为阿姆斯特朗数。

文中涉及代码:

import mathdef order(x):    n=0    while x!=0:        n=n+1        x=x//10    return ndef isArmstrong(x):    n=order(x)    temp=x    sum1=0        while temp!=0:        r=temp%10        sum1=sum1+math.pow(r, n)        temp=temp//10    return sum1==xx=153if isArmstrong(x):    print(f"{x}是阿姆斯特朗数!")else:    print(f"{x}不是阿姆斯特朗数!")def isArmstrong(num):    num_str=str(num)    n=len(num_str)    sum=0    for i in num_str:        sum+=int(i)**n    if sum == num:        return True    else:        return Falsenum=153if isArmstrong(num):    print(f"{num}是阿姆斯特朗数!")else:    print(f"{num}不是阿姆斯特朗数!")n=1634 s=n  b=len(str(n))sum1=0while n!=0:    r=n%10    sum1=sum1+(r**b)    n=n//10if s==sum1:    print(f"{s}是阿姆斯特朗数!")else:    print(f"{s}是阿姆斯特朗数!")

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

标签: #python开n次方函数怎么写 #判断水仙花数python代码