对于本次寒假第一周对python的学习,我做一个总结。
本周主要对以往学习的python基础知识进行了一个回顾,并做了一些python题目,巩固了基础。我想以一道比较经典的python题目作为本次学习的成果。
例题如下:

代码如下:

题目不是很难,思路却很重要,开始做这道题目时,首先要考虑到编写代码的正确性,为了方便确定,我们选择利用题目中所给的信息进行代码的编写,倘若题目中所给示例符合那么只需把41改为2020即可求得该题的正解。
第一步,我们需要分别求得所取得的数的数位。利用数位上的数字是否等于2,0,1,9从而确认该数是否符合题目要求,这便可以用到字符串的索引知识,详情参考代码即可。同时在判断是否等于2,0,1,9时则需要用到if条件语句,对于不符合的数字,我们应用continue结束本次循环。
注:对于字符串的索引我们可以用俩个for循环分别求取不同数位上的数字,注意遍历循环所得的是数字,需要转换为字符串。
第二步,对于符合要求的数字我们需要将它进行平方,则用到了pow()函数。
注:本题难点便出现了,利用for i in range(0,len(b))不可避免的出现了数字重复使用,即各个数位上数字均符合条件,导致数字重复被平方,使算的结果偏大,于是我们使用到了break这个关键字,break跳出当前循环,也就是说当遇到多个符合条件的循环而我们只需要其中一个时,利用break跳出当前循环,直接进行下一步,完美的解决了问题。
第三步,我们将所求到的平方后的数字利用s+=c即可求得平方和。
到此,这个简单的程序分析便结束了,本道题综合运用了字符串以及循环等方面的知识,
当然本题还可以利用定义函数的方法解决,其代码如下:

该方法同之前所说的方法具体思路相同,只是表达方法不同罢了。
















