用Python怎样打印水仙花数?一文带你看懂
用Python怎样打印水仙花数?水仙花数也就是各位数字立方和等于该数的三位数,例如153、370、371、407这四个数就是全部的水仙花数了,那么我们用Python怎样编程呢?下文给大家分享一个示例,代码解释的很详细的,对大家学习Python有一定的帮助,感兴趣的朋友就继续往下看吧。
本教程操作环境:windows7系统、python3.7版,DELL G3电脑
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
python输出所有的水仙花数
for n in range(100,1000): i = n // 100 j = n // 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3: print (n)
输出:
153 370 371 407
详解
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
第一行:
for n in range(100,1000):
因为水仙花数是一个三位数,所以我们就循环从100到999的所有数字,并且把它赋值给n
第二行:
i = n // 100
用n整除100,得到的其实就是三位数的百位数字,将它赋值给i
第三行:
j = n // 10 % 10
用n整除10,得到的是百位数和十位数组成的两位数,再用这个数除以10求余数,就得到了我们的十位数字,将它赋值给j
第四行:
k = n % 10
用n除以10,求余数,得到的就是n的个位数数字,将它赋值给k,这个时候三位数n的百位、十位、个位数字,我们都已经得到,并且分别赋值给了i,j,k
第五行:
if n == i ** 3 + j ** 3 + k ** 3:
判断:如果n等于它百位数字的立方+十位数字的立方+个位数字的立方,那么它就是水仙花数,这个时候,将满足条件的n打印出来,否则就进入下一个循环
以上就是用Python打印水仙花数的方法介绍,上述示例具有一定的参考价值,有需要的朋友可以了解看看,希望对大家学习Python语言有帮助,想要了解更多可以继续浏览网络其他相关的文章。
文本转载自PHP中文网
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 用Python怎样打印水仙花数?一文带你看懂
本文地址: https://pptw.com/jishu/651205.html