这篇文章主要介绍了Python如何实现找出所有水仙花数?Python实现水仙花数的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让我带着大家一起了解一下吧 。
【怎么用python实现水仙花数?python实现水仙花数的方法】
文章插图
首先我们要了解什么是水仙花数
水仙花数指的是一个三位数的正整数,而在这三位数当中,个十百位上的数字的三次幂之和都等于这个数的本身,像153这个数一样,1的三次方加上5的三次方再加上3的三次方之和就刚好等于153,所以153就是一个典型是水仙花数 。
下面讲讲用python实现输出所有的水仙花数的方法,水仙花数是一个三位数,所以这里是[100,1000]的所有水仙花数 。
实例:
for s in range(100,1000): i = s // 100 j = s // 10 % 10 k = s % 10 if s == i ** 3 + j ** 3 + k ** 3: print (s)输出:
153370371407案例分析:首先第一条代码中,我们利用for循环控制来控制需要判断水仙花数的范围,这里是从100-999循环所有数字,每个数分别分解出个位,十位,百位 。
第一行:
for s in range(100,1000):因为水仙花数是一个三位数,所以我们就循环从100到999的所有数字,并且把它赋值给s
第二行:
i = s // 100用s整除100,得到的其实就是三位数的百位数字,并将它的值赋给i
第三行:
j = s // 10 % 10用s整除10,得到的是百位数和十位数组成的两位数,再用这个数除以10求余数,就得到了我们的十位数字,将它赋值给j
第四行:
k = s % 10用s除以10,求余数,得到的就是s的个位数数字,将它赋值给k,这个时候三位数s的百位、十位、个位数字,我们都已经得到,并且分别赋值给了i,j,k
第五行:
if s == i ** 3 + j ** 3 + k ** 3:判断:如果n等于它百位数字的立方+十位数字的立方+个位数字的立方,那么它就是水仙花数,这个时候,将满足条件的s打印出来,否则就进入下一个循环 。
有关Python如何实现找出所有水仙花数?Python实现水仙花数的方法的讲解到这里就结束了,想要了解其他有关python算法的小伙伴们,可以继续关注哦!
推荐阅读
- 使用Python怎么对文件进行操作?Python文件操作的方法有哪些?
- 自学Python能找到合适的工作吗?做python有哪些合适的工作?
- 如何通过python分解质因数?python分解质因数代码编写
- 如何使用python中的spilt函数?python的spilt()函数用法
- 如何通过python求圆的面积?python求圆的面积的方法
- 如何通过python实现文本自动输入?python文本自动输入方法
- 学习python能考的证书有哪些?学习python有必要考证吗?
- python如何删除字符串的空格?python字符串知识讲解
- 如何修改python全局变量的值?修改python全局变量值的方法
- python实现RSA加解密需要用哪些函数?python的RSA知识讲解