我有个9岁Python小朋友学员,这是他的技术总结
共 3008字,需浏览 7分钟
·
2022-05-21 15:59
前言
我的名字叫Larry,今年9岁,就读小学三年级,是蚂蚁老师的学生。我的年龄虽小,但是我已经是一个拥有两年编程学习资历的小小“码农”,更是不折不扣的编程爱好者。第一次和Python的亲密接触发生在2020年4月,当我的小手指逐个敲打着键盘上一个个陌生的字母,我非常记得Run起来时那神奇的一幕,我为此着迷,因为我能用Python实现我的“小魔法”,未来我是不是还可以做属于自己原创的大作品呢?想到这里我很兴奋。
刚开始学习的阶段,爸爸妈妈也有担心,我这么小的年纪(当时才7岁)是否能理解编程知识,能否在后续一系列的数据类型,语法结构,基础算法等知识难点中坚持下来。事实证明,答案是肯定的,Python对于编程小白来说,应该是最简洁清晰,入门最合适不过的程序设计语言:友好、易学、强大、开放。在两年的Python学习中,我取得了一些小成绩包括蓝桥杯STEMA测评全国青少年初级组编程能力排位前2%及省赛一等奖直接晋级国赛;去年年底通过了中国电子学会青少年软件编程等级考试三级并准备冲击四级。
随着我python学习的不断深入,原来的编程培训机构教的内容还有不断的竞赛考级已经不能满足我的学习需求,我急迫寻找到能带领我更全面细化知识体系和实践应用相结合的教学资源。找遍了各种书籍或者网络资源,然后我发现了蚂蚁老师,试听了前面零基础入门的几节课后,我就忍不住一口气全部看完,因为蚂蚁老师没有多余的话语,直接明了,逻辑清晰,不仅每个知识点讲的细致而且还有很实用的应用技巧,我相信这是蚂蚁老师多年实战工作摸索总结出来的精华,有一些是培训机构老师没有提及的。下面我很想和同样在学习python的哥哥姐姐分享我的实战案例
1. 查看题目要求
题目叫做:计算回文数个数,以下是题目的解释:
目标
【编程实现】 回文数:指的是正着读和反着读都是一样的数,比如585,就是一个回文数。用户输入一个整数N,找到1到N之间所有的回文数的个数。
【输入数据】 一行,一个整数,表示要查找的范围
【输出数据】 一行,一个整数,表示统计的结果
示例
输入:10
输出:9
2. 所需的数据
2.1:输入与变量定义
现在,加上这些代码:
n, num, reversed_i_str = int(input()), 0, ''
代码中用到了蚂蚁老师教的元组拆包,这些代码可以实现输入和后续要用的变量。
2.2:循环和数字倒叙排列
接着,用for循环遍历所有数字并且用str函数将这些数字转换成字符串。然后,又用reversed函数将这些字符串进行反转。最后,list函数让这个得到的结果变成一个列表。为了直观地看清楚反转列表,就加了调试语句:
print(reversed_i)
这是现在的全部代码:
n, num, reversed_i_str = int(input()), 0, ''
for loop_num in range(1, n + 1):
i = str(loop_num)
reversed_i = str(list(reversed(i)))
print(reversed_i)
输入了10后,输出的结果是:
['1']
['2']
['3']
['4']
['5']
['6']
['7']
['8']
['9']
['0', '1']
通过最后的['0', '1']可以看到在进行最后一个循环——10的时候,str、list和reversed函数在一起发挥了反转的效果。
2.3:循环和数字倒叙排列
接着,用另一个for循环遍历刚刚获得的列表reverse_i,再添加到一个字符串reverse_i_str,用于后面的if语句检测。
n, num, reversed_i_str = int(input()), 0, ''
for loop_num in range(1, n + 1):
i = str(loop_num)
reversed_i = list(reversed(i))
print(reversed_i)
for list_loop in reversed_i:
reversed_i_str += list_loop
print(reversed_i_str)
reversed_i_str = ''
现在,还是输入10后,结果为:
['1']
1
['2']
2
['3']
3
['4']
4
['5']
5
['6']
6
['7']
7
['8']
8
['9']
9
['0', '1']
01
通过输出结果,我们可以看到列表已经转为字符串了。
3. 检测回文数和最后步骤
3.1:if语句检测并保存在num
最后,就加个if语句看下已反转的字符串和一开始的输入的被转成字符串的数字是否相等啦~
n, num, reversed_i_str = int(input()), 0, ''
for loop_num in range(1, n + 1):
i = str(loop_num)
reversed_i = list(reversed(i))
print(reversed_i)
for list_loop in reversed_i:
reversed_i_str += list_loop
print(reversed_i_str)
if reversed_i_str == i:
num += 1
reversed_i_str = ''
3.2:最后的调整
你不会以为现在就完成了吧,还没有用print打印num变量和取消print调试语句呢!print(reversed_i)
print(reversed_i_str)
print(num)
完成
全部代码:
n, num, reversed_i_str = int(input()), 0, '' # 输入与变量
for loop_num in range(1, n + 1): # 循环
i = str(loop_num) # 转str字符串
reversed_i = list(reversed(i)) # 倒序
for list_loop in reversed_i: # 列表循环
reversed_i_str += list_loop # reversed_i_str变量添加列表元素
if reversed_i_str == i: # 判断反转字符串是否等于输入数字
num += 1 # num加1
reversed_i_str = '' # 清空字符串
print(num) # 输出最后数字num
虽然我年纪还小,而且校内学习任务也很忙,但是只要每天坚持学习蚂蚁老师的课程,遇到不懂的时候能得到蚂蚁老师的及时解疑,我相信我会不断进步。我心里许下小小的愿望,希望今年能对接上蚂蚁老师的需求单,真真正正运用好python帮助到其他人,这对于我来说真的是太酷的事情了!
最后,推荐蚂蚁老师的《Python入门到副业就业》系列套餐。
包含14门课程,涵盖爬虫、数据分析、web开发、人工智能多个领域
购买课程,加蚂蚁老师微信:ant_learn_python 加答疑群、提供私聊答疑
请注意:需要在抖音扫码购买,才能享受此优惠