暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python每日一练_第二天-四叶玫瑰数

退休的Coder 2022-01-07
3726

Hello大家好,我是退休的Coder,感谢大家阅读Python每日一练系列的文章,这个系列的文章为了帮助一些Python小白快速掌握一些基础算法的编写。


希望大家能够坚持下去,学习编程不是一朝一夕的,需要去不断的练习,不断的思考,总结经验。


今天我们一起练习第二个程序,输出所有的四叶玫瑰数。



四叶玫瑰数是指一个四位数,每个数位上的数字的四次方之和等于本身的数。


看到这里是不是感觉和水仙花数很相似,如果让你输出所有的四叶玫瑰数,只需要简单的把水仙花的算法修改一下就可以了。


解题思路



  • 输出所有的四叶玫瑰数,我们就把所有的四位数都循环遍历一下。


  • 每次循环遍历的时候,把这个四位数字中的千位数、百位数、十位数、个位数数字都取到。


  • 判断一下是否满足每位数字的四次方之和等于它本身,如果等于它本身说明就是四叶玫瑰数。


代码实现



for i in range(1000,10000):
    #取千位数字 
    a = i//1000
    #取百位数字 
    b = i//100%10
    #取十位数字 
    c = i//10%10
    #取个位数字
    d = i%10
    if a**4+b**4+c**4+d**4 == i:
        print(f'{i}是四叶玫瑰数')


ps:当然还可以在每次循环中,先把四位数转化成字符串,通过字符串的索引可以很方便的找到每位数字,做运算时用int()转化一下。


这就是Python每日一练系列第二天的内容,题目还是一样简单,这个系列的练习题是成梯度的,难度会一点点的去提升,希望能够给在学习路上的小伙伴一点帮助。


感谢大家,我是退休的Coder,明天见!



想要看视频讲解,可以去我的B站主页观看。


B站搜索:退休的Coder




扫描二维码

获取更多技术干货

退休的Coder









点个在看你最好看





文章转载自退休的Coder,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论