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

Python每日一练_第一天-水仙花数-自恋数

退休的Coder 2022-01-06
1056

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


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


今天我们一起练习第一个程序,输出所有的水仙花数。



水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。


解题思路



既然要输出所有的水仙花数,我们就需要把所有的三位数都循环遍历一下。

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


判断一下是否满足每位数字的三次方之和等于它本身,如果等于它本身说明就是水仙花数。


代码实现



for i in range(100,1000):
    #取百位数字 
    a = i//100
    #取十位数字 
    b = i//10%10
    #取个位数字
    c = i%10
    if a**3+b**3+c**3 == i:
        print(f'{i}是水仙花数')


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


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


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



对了,还没结束,如果想要看视频讲解,可以去我的B站主页观看。


B站搜索:退休的Coder




扫描二维码

获取更多技术干货

退休的Coder









点个在看你最好看





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

评论