美文网首页
python二级题库12--所有水仙花数

python二级题库12--所有水仙花数

作者: young十三 | 来源:发表于2019-07-24 21:41 被阅读0次

    一、题目

    打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    二、分析

    1、思路①

    将一个三位数拆分为三个数,匹配等式则输出

    2、思路②

    利用字符串切片拆分三位数

    三、方案

    1、方案①

    def total(num):
        gw = num % 10
        sw = (num // 10) % 10
        bw = num // 100
    
        return gw ** 3 + sw ** 3 + bw ** 3
    
    for i in range(100, 1000):
        if i == total(i):
            print('水仙花数:', i)
    

    输出结果:

    水仙花数: 153
    水仙花数: 370
    水仙花数: 371
    水仙花数: 407
    

    2、方案②

    def total(num):
        s = str(num)
        gw = int(s[-1])
        sw = int(s[-2])
        bw = int(s[-3])
        return gw ** 3 + sw ** 3 + bw ** 3
    
    
    for i in range(100, 1000):
        if i == total(i):
            print('水仙花数:', i)
    

    输出结果:

    水仙花数: 153
    水仙花数: 370
    水仙花数: 371
    水仙花数: 407
    

    四、交流

    如果你有更好的解法或者有不同的意见,大家可以畅所欲言,共同提高进步!

    加入qq群一起交流学习:818757567

    群主也是小白一枚,零基础学习python,要勇于提问,大家共同探讨,共同学习进步!

    图.png

    知之为知之,不知为不知,是知也!

    相关文章

      网友评论

          本文标题:python二级题库12--所有水仙花数

          本文链接:https://www.haomeiwen.com/subject/kfufrctx.html