我有個(gè)9歲Python小朋友學(xué)員,這是他的技術(shù)總結(jié)
前言
我的名字叫Larry,今年9歲,就讀小學(xué)三年級(jí),是螞蟻老師的學(xué)生。我的年齡雖小,但是我已經(jīng)是一個(gè)擁有兩年編程學(xué)習(xí)資歷的小小“碼農(nóng)”,更是不折不扣的編程愛(ài)好者。第一次和Python的親密接觸發(fā)生在2020年4月,當(dāng)我的小手指逐個(gè)敲打著鍵盤(pán)上一個(gè)個(gè)陌生的字母,我非常記得Run起來(lái)時(shí)那神奇的一幕,我為此著迷,因?yàn)槲夷苡肞ython實(shí)現(xiàn)我的“小魔法”,未來(lái)我是不是還可以做屬于自己原創(chuàng)的大作品呢?想到這里我很興奮。
剛開(kāi)始學(xué)習(xí)的階段,爸爸媽媽也有擔(dān)心,我這么小的年紀(jì)(當(dāng)時(shí)才7歲)是否能理解編程知識(shí),能否在后續(xù)一系列的數(shù)據(jù)類(lèi)型,語(yǔ)法結(jié)構(gòu),基礎(chǔ)算法等知識(shí)難點(diǎn)中堅(jiān)持下來(lái)。事實(shí)證明,答案是肯定的,Python對(duì)于編程小白來(lái)說(shuō),應(yīng)該是最簡(jiǎn)潔清晰,入門(mén)最合適不過(guò)的程序設(shè)計(jì)語(yǔ)言:友好、易學(xué)、強(qiáng)大、開(kāi)放。在兩年的Python學(xué)習(xí)中,我取得了一些小成績(jī)包括藍(lán)橋杯STEMA測(cè)評(píng)全國(guó)青少年初級(jí)組編程能力排位前2%及省賽一等獎(jiǎng)直接晉級(jí)國(guó)賽;去年年底通過(guò)了中國(guó)電子學(xué)會(huì)青少年軟件編程等級(jí)考試三級(jí)并準(zhǔn)備沖擊四級(jí)。


隨著我python學(xué)習(xí)的不斷深入,原來(lái)的編程培訓(xùn)機(jī)構(gòu)教的內(nèi)容還有不斷的競(jìng)賽考級(jí)已經(jīng)不能滿(mǎn)足我的學(xué)習(xí)需求,我急迫尋找到能帶領(lǐng)我更全面細(xì)化知識(shí)體系和實(shí)踐應(yīng)用相結(jié)合的教學(xué)資源。找遍了各種書(shū)籍或者網(wǎng)絡(luò)資源,然后我發(fā)現(xiàn)了螞蟻老師,試聽(tīng)了前面零基礎(chǔ)入門(mén)的幾節(jié)課后,我就忍不住一口氣全部看完,因?yàn)槲浵伬蠋煕](méi)有多余的話(huà)語(yǔ),直接明了,邏輯清晰,不僅每個(gè)知識(shí)點(diǎn)講的細(xì)致而且還有很實(shí)用的應(yīng)用技巧,我相信這是螞蟻老師多年實(shí)戰(zhàn)工作摸索總結(jié)出來(lái)的精華,有一些是培訓(xùn)機(jī)構(gòu)老師沒(méi)有提及的。下面我很想和同樣在學(xué)習(xí)python的哥哥姐姐分享我的實(shí)戰(zhàn)案例
1. 查看題目要求
題目叫做:計(jì)算回文數(shù)個(gè)數(shù),以下是題目的解釋?zhuān)?/p>
目標(biāo)
【編程實(shí)現(xiàn)】 回文數(shù):指的是正著讀和反著讀都是一樣的數(shù),比如585,就是一個(gè)回文數(shù)。用戶(hù)輸入一個(gè)整數(shù)N,找到1到N之間所有的回文數(shù)的個(gè)數(shù)。
【輸入數(shù)據(jù)】 一行,一個(gè)整數(shù),表示要查找的范圍
【輸出數(shù)據(jù)】 一行,一個(gè)整數(shù),表示統(tǒng)計(jì)的結(jié)果
示例
輸入:10
輸出:9
2. 所需的數(shù)據(jù)
2.1:輸入與變量定義
現(xiàn)在,加上這些代碼:
n,?num,?reversed_i_str?=?int(input()),?0,?''
代碼中用到了螞蟻老師教的元組拆包,這些代碼可以實(shí)現(xiàn)輸入和后續(xù)要用的變量。
2.2:循環(huán)和數(shù)字倒敘排列
接著,用for循環(huán)遍歷所有數(shù)字并且用str函數(shù)將這些數(shù)字轉(zhuǎn)換成字符串。然后,又用reversed函數(shù)將這些字符串進(jìn)行反轉(zhuǎn)。最后,list函數(shù)讓這個(gè)得到的結(jié)果變成一個(gè)列表。為了直觀地看清楚反轉(zhuǎn)列表,就加了調(diào)試語(yǔ)句:
print(reversed_i)
這是現(xiàn)在的全部代碼:
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后,輸出的結(jié)果是:
['1']
['2']
['3']
['4']
['5']
['6']
['7']
['8']
['9']
['0', '1']
通過(guò)最后的['0', '1']可以看到在進(jìn)行最后一個(gè)循環(huán)——10的時(shí)候,str、list和reversed函數(shù)在一起發(fā)揮了反轉(zhuǎn)的效果。
2.3:循環(huán)和數(shù)字倒敘排列
接著,用另一個(gè)for循環(huán)遍歷剛剛獲得的列表reverse_i,再添加到一個(gè)字符串reverse_i_str,用于后面的if語(yǔ)句檢測(cè)。
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?=?''
現(xiàn)在,還是輸入10后,結(jié)果為:
['1']
1
['2']
2
['3']
3
['4']
4
['5']
5
['6']
6
['7']
7
['8']
8
['9']
9
['0', '1']
01
通過(guò)輸出結(jié)果,我們可以看到列表已經(jīng)轉(zhuǎn)為字符串了。
3. 檢測(cè)回文數(shù)和最后步驟
3.1:if語(yǔ)句檢測(cè)并保存在num
最后,就加個(gè)if語(yǔ)句看下已反轉(zhuǎn)的字符串和一開(kāi)始的輸入的被轉(zhuǎn)成字符串的數(shù)字是否相等啦~
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:最后的調(diào)整
你不會(huì)以為現(xiàn)在就完成了吧,還沒(méi)有用print打印num變量和取消print調(diào)試語(yǔ)句呢!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):?#?循環(huán)
????i?=?str(loop_num)?#?轉(zhuǎn)str字符串
????reversed_i?=?list(reversed(i))?#?倒序
????for?list_loop?in?reversed_i:?#?列表循環(huán)
????????reversed_i_str?+=?list_loop?#?reversed_i_str變量添加列表元素
????if?reversed_i_str?==?i:?#?判斷反轉(zhuǎn)字符串是否等于輸入數(shù)字
????????num?+=?1?#?num加1
????reversed_i_str?=?''?#?清空字符串
print(num)?#?輸出最后數(shù)字num
雖然我年紀(jì)還小,而且校內(nèi)學(xué)習(xí)任務(wù)也很忙,但是只要每天堅(jiān)持學(xué)習(xí)螞蟻老師的課程,遇到不懂的時(shí)候能得到螞蟻老師的及時(shí)解疑,我相信我會(huì)不斷進(jìn)步。我心里許下小小的愿望,希望今年能對(duì)接上螞蟻老師的需求單,真真正正運(yùn)用好python幫助到其他人,這對(duì)于我來(lái)說(shuō)真的是太酷的事情了!
最后,推薦螞蟻老師的《Python入門(mén)到副業(yè)就業(yè)》系列套餐。
包含14門(mén)課程,涵蓋爬蟲(chóng)、數(shù)據(jù)分析、web開(kāi)發(fā)、人工智能多個(gè)領(lǐng)域
購(gòu)買(mǎi)課程,加螞蟻老師微信:ant_learn_python 加答疑群、提供私聊答疑
請(qǐng)注意:需要在抖音掃碼購(gòu)買(mǎi),才能享受此優(yōu)惠

