Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)與操作符的練習(xí)題集錦
第一題: give you two var a and b, print the value of a+b, just do it!
根據(jù)提議,給出兩個(gè)變量 a 和 b 并打印出 a+b的值.
a, b = 1, 2 print a + b
當(dāng)然也可以這么做
a = 1 b = 2 print a + b
第二題: 給你一個(gè)list, 如 L = [2, 8, 3, 5], 對L進(jìn)行升序排序并輸出。
L = sorted(L) print L #或 # sort() 內(nèi)置函數(shù)會(huì)對列表自身排序而 sorted() 會(huì)生成一個(gè)新的排序列表 L.sort() print L
第三題: 給你一個(gè)字符串a(chǎn), 如a = ‘12345', 對a進(jìn)行逆序輸出。
# 通過步進(jìn)來逆序輸出字符串。 a = a[::-1] print a
第四題: 給你一個(gè)字典a = {1:1, 2:2, 3:3}, 輸出字典a的key ,以',' 連接,如 ‘1,2,3'。
# dict.keys() 會(huì)以list返回字典的key.而join會(huì)把list按,字符串',' 連接起來。 print ','.join(a.keys())
第五題: 給你一個(gè)字符串a(chǎn), 輸出字符串奇數(shù)位置的字符串,如 a = ‘12345', 則輸出 ‘135'
# 通過列表解析(也稱列表推導(dǎo)式)來判斷下表選取奇偶數(shù)。 print ''.join([a[x] for x in range(len(a)) if x % 2 == 0])
第六題: 輸出所有100以內(nèi)的素?cái)?shù), 素?cái)?shù)之間以空格區(qū)分。
# 在加一行print 才能運(yùn)行通過 L = [x for x in range(2, 101) if not [y for y in range(2, x) if x%y == 0]] for i in L: print L, print
第七題: 已知矩形長a, 寬b, 輸出其面積和周長,以一個(gè)空格隔開
print a * b, 2 * (a+b)
第八題: 給你一個(gè)list, 如 L = [0, 1, 2, 3, 4] 輸出L的中位數(shù)
# 中位數(shù)是指 對已排序的數(shù)集取其中間數(shù),數(shù)集為偶數(shù) 取中間兩數(shù)的平均 print sorted(L)[len(L)/2] if len(L) % 2 != 0 else \ (sorted(L)[Len(L)/2] + sorted(L)[len(L)/2 -1 ])/2.0
第九題: 給你兩個(gè)正整數(shù)a和b, 輸出它們的最大公約數(shù)。
print max([x for x in range(1, a+1) if x in [y for y in range(1, b+1) if b%y == 0]])
第十題: 給你兩個(gè)正整數(shù)a和b, 輸出它們的最小公倍數(shù).
print min([x for x in range(a, a*b+1) if x%a==0 and x%b==0])
附加題: 利用map/reduce 函數(shù)實(shí)現(xiàn)數(shù)的階乘 如 5!+4!+3!+2!+1!.
print map(lambda x: reduce(lambda y,z: y*z, range(1, x+1)), range(1,6)) # print [1, 2, 6, 24, 120], 所以在用reduce合起來 print reduce(lambda a, b: a+b, map(lambda x: \ reduce(lambda y, z: y*z, range(1, x+1)),range(1,6)))
附加題: 使用filter函數(shù) 實(shí)現(xiàn)素?cái)?shù)
print filter(lambda x: not [x%i for i in range(2,x) if x%i==0], range(2, 101))
相關(guān)文章
基于OpenCV的網(wǎng)絡(luò)實(shí)時(shí)視頻流傳輸?shù)膶?shí)現(xiàn)
這篇文章主要介紹了基于OpenCV的網(wǎng)絡(luò)實(shí)時(shí)視頻流傳輸?shù)膶?shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Django 配置多站點(diǎn)多域名的實(shí)現(xiàn)步驟
這篇文章主要介紹了Django 配置多站點(diǎn)多域名的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05python實(shí)現(xiàn)各種插值法(數(shù)值分析)
這篇文章主要介紹了python實(shí)現(xiàn)各種插值法(數(shù)值分析),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python文字轉(zhuǎn)語音實(shí)現(xiàn)過程解析
這篇文章主要介紹了python文字轉(zhuǎn)語音實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11