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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




