【python練習題】吃透這150道練習題,輕松搞定python95%知識點 (含答案解析)
python入門簡單,當我們學完基礎(chǔ)知識后,最好的鞏固方法就是拿一些練習題練手,綜合所學內(nèi)容,達到輸入輸出 糾正的完美學習路徑。
這里給大家分享一份大佬整理的150道python練習題,涵蓋Python基礎(chǔ)內(nèi)容的方方面面。非常經(jīng)典。
內(nèi)容包括:數(shù)據(jù)類型、基礎(chǔ)語法、內(nèi)置函數(shù)、字符串方法、排序算法、簡單算法、中等難度算法、地獄級難度算法。每道題均有詳細的題目要求;示例代碼;難能可貴的是附有詳細的解題思路分析,以及所涉及可能會讓新手困惑的知識點詳解。建議先不看答案,運用自己所學到的知識跑一遍代碼,然后再來參照解析。達到最佳練習效果!
【數(shù)據(jù)類型】不運行程序,說出下方程序運行結(jié)果:
4.0 == 4"4.0" == 4bool("1")bool("0")str(32)int(6.26)float(32)float("3.21")int("434")int("3.42")bool(-1)bool("")bool(0)"wrqq" > "acd""ttt" == "ttt ""sd"*3"wer" + "2322"
【字符串】不用代碼,口述下方代碼執(zhí)行結(jié)果
string="Python?is?good"string[1:20]string[20]string[3:-4]string[-10:-3]string.lower()string.replace("o","0")string.startswith("python")string.split()len(string)string[30]string.replace("",")
【簡單算法】打印楊輝三角。給定一個正整數(shù)N,打印楊輝三角的前N行。楊輝三角形態(tài)如下:
11 11 2 1? ?1?3?3?11 4 6 4 11 5 10 10 5 1
【簡單算法】已知兩個列表
lst_1 = [1, 2, 3, 4]lst_2 = ['a', 'b', 'c', 'd']
['1a',?'2a',?'3a',?'4a'],['1b', '2b', '3b', '4b'],['1c', '2c', '3c', '4c'],['1d',?'2d',?'3d',?'4d']
【簡單算法】求三位數(shù)組合
lst = [3, 6, 2, 7]【排序】選擇排序
def select_sort(lst):for i in range(len(lst)):????????min?=?ifor j in range(min,len(lst)):# 尋找min 到len(lst)-1 這個范圍內(nèi)的最?小值if lst[min] > lst[j]:min = j????????lst[i],?lst[min]?=?lst[min],?lst[i]lst = [2,6,1,8,2,4,9]select_sort(lst)print lst
【中等難度算法】將下方給定的字符串中的每個單詞逐個翻轉(zhuǎn)。翻轉(zhuǎn)后,空格不能減少,單詞之間的空格數(shù)量不能發(fā)生變化。
輸入:?"?the?sky?is? blue",輸出: "blue is sky the "
如果只是簡單的翻轉(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)容
掃描下方二維碼即可領(lǐng)取完整版
備注“150練習題”
我會第一時間將資料發(fā)送給你
