python水仙花数_ghpython_水仙花数02

a775962f398351c146a11d49724bdfd1.png

今天咱们继续来看看老潘微博里的一个python小案例,求水仙花数,这个小案例在前两天已经分享了,今天分享另一种方法,常言道只要思想不滑坡,方法总比困难多,而且今天的方法个人觉得更pythonic一点。

#水仙花数、四叶玫瑰数、五角星数
#由于2位数的自幂数不存在,这里直接从100遍历到100000

for i in range(100,100000):
    sum=0
    tmp=i
    length=len(str(i))
    #通过while循环将遍历的值进行自幂运算
    while tmp:
        #通过取余,对最末位数字进行自幂运算,并+=到变量sum
        sum+=(tmp%10)**length    
        #通过取整,剔除最后位数值,重新赋值给变量tmp
        tmp//=10    
    #如果自幂值之和等于值本身,则符合自幂数原则,再根据数值位数判断自幂数类型
    if sum==i:
        if length==3:
            print("水仙花数:%s" % i)
        if length==4:
            print("四叶玫瑰数:%s" % i)
        if length==5:
            print("五角星数:%s" % i)

c445781c127ef2da75fbdc3fabb7c937.png

e2b42846e07571b53c7722892ef96936.png

#ghpython#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值