【Python練習(xí)題】吃透這150道練習(xí)題,輕松搞定Python95%知識點 (含答案解析)
Python入門簡單,當(dāng)我們學(xué)完基礎(chǔ)知識后,最好的鞏固方法就是拿一些練習(xí)題練手,綜合所學(xué)內(nèi)容,達到輸入輸出 糾正的完美學(xué)習(xí)路徑。
這里給大家分享一份大佬整理的150道Python練習(xí)題,涵蓋Python基礎(chǔ)內(nèi)容的方方面面。非常經(jīng)典。

內(nèi)容包括:數(shù)據(jù)類型、基礎(chǔ)語法、內(nèi)置函數(shù)、字符串方法、排序算法、簡單算法、中等難度算法、地獄級難度算法。每道題均有詳細的題目要求;示例代碼;難能可貴的是附有詳細的解題思路分析,以及所涉及可能會讓新手困惑的知識點詳解。建議先不看答案,運用自己所學(xué)到的知識跑一遍代碼,然后再來參照解析。達到最佳練習(xí)效果!
部分習(xí)題展示,完整版見文末:
【數(shù)據(jù)類型】不運行程序,說出下方程序運行結(jié)果:
4.0 == 4
【字符串】不用代碼,口述下方代碼執(zhí)行結(jié)果
string="Python is good"
【簡單算法】打印楊輝三角。給定一個正整數(shù)N,打印楊輝三角的前N行。楊輝三角形態(tài)如下:
1楊輝三角的每一行第一個和最后一個元素都是1;中間的元素,由上一行的兩個元素相加得到;第N行的第index元素,是由第N-1行的第index-1元素和第index相加得到的。
【簡單算法】已知兩個列表
lst_1 = [1, 2, 3, 4]請寫算法,將兩個列表交叉相乘,生成如下的矩陣
['1a', '2a', '3a', '4a'],
【簡單算法】求三位數(shù)組合
這四個數(shù)字能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?請逐個輸出lst =?[3, 6, 2, 7]
【排序】選擇排序
假設(shè)有一個序列,a[0] , a[1] , a[2]...a[n] ,現(xiàn)在對它進行排序。我們先從0這個位置找出最小值,然后將這個最小值與a[0] 交換,然后a[1]到a[n]就是我們接下來要排序的序列。我們可以從1這個位置到n這個位置找出最小值,然后將這個最小值與a[1]交換,之后a[2]到a[n]就是我們接下來要排序的序列。每一次我們都從序列中找出一個最小值,然后把它與序列的第一個元素交換位置,這樣下去,待排序的元素就會越來越少嗎,直到最后一個
def select_sort(lst):
【中等難度算法】將下方給定的字符串中的每個單詞逐個翻轉(zhuǎn)。翻轉(zhuǎn)后,空格不能減少,單詞之間的空格數(shù)量不能發(fā)生變化。
輸入: " the sky is blue",
如果只是簡單的翻轉(zhuǎn)字符串,就過于簡單了,因此要求翻轉(zhuǎn)每一個單詞,單詞還是原來的樣子,但是單詞所在的位置卻發(fā)生了翻轉(zhuǎn),第一個單詞變成了倒數(shù)第一個單詞。字符串是不可變對象,不能直接在字符串上進行翻轉(zhuǎn),要借助列表(list)進行翻轉(zhuǎn)
【中等難度算法】給定一個整數(shù),請計算二進制中為1的位數(shù)
13
如果一個數(shù)是奇數(shù),那么它的二級制的最后一位一定是1,道理很簡單,其他的位都表示2n 只有最后一位表示20。我們可以利用最后一位是否為1來統(tǒng)計為1的位數(shù),這就需要最后一位是變化的,還好,我們可以利用用位運算符>>(右移位運算符)
13的二進制表示是1101,13>>1就表示二進制的每一位都向右移動一位,移動后為110,最右邊的1舍棄。如果二進制最后一位是1,那么一定是奇數(shù)。
【地獄難度算法】已知一個有序序列,請原地刪除序列中重復(fù)出現(xiàn)的元素,返回刪除重復(fù)元素后的序列長度。只能使用o(1)額外空間來完成這個任務(wù),例如[0,0,1,1,1,2,2,3,3,4,4,4,5],最終返回的長度是6,序列前6個元素是0 1 2 3 4 5
PDF文檔預(yù)覽:









篇幅有限,更多內(nèi)容下方拿
文中所展示內(nèi)容獲取方式:
1.一鍵三連+關(guān)注(重點)
2.后臺主動留下痕跡:“電子書”即可?