知识点:
1 什么是水仙花数
2 分析问题时,将业务问题和编程问题分开考虑
初学编程时,总觉得编程就是很难。为什么教材上就讲了那么几个知识点,我看懂了,但是一看到课后的题目简直就傻了眼,动不了手。我相信不只有我一个人是这样的。本次我们来看看这样一道Python实战题:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
短短两行文字后,不会的人就是不会!究其原因,还是需要做分解。遇到编程的问题,要分业务问题和编程技术问题。此题中业务问题就是“水仙花数”的数学问题,另外考虑的编程技术就是对for和if的熟悉程度。
题目分析:
1.看到153是一个“水仙花数”,这就是一个突破口!如何验证,需要找到这个数的百位、十位和个位。
使用Python来获取:
百位a = 153 // 100 = 1
这里使用的是整除(//),整除以后的结果直接将小数点后直接抹去。
十位b = (153 - a*100) // 10 = 53 // 10 = 5
个位c = 153 % 10
个位数直接使用求模运算。