国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Python學(xué)習(xí)——階段綜合練習(xí)一

2019-11-14 17:19:03
字體:
供稿:網(wǎng)友

Python 階段綜合練習(xí)一

  綜合之前的函數(shù)、數(shù)據(jù)結(jié)構(gòu)、流程控制等,做以下實(shí)例練習(xí):(建議先不要看代碼,自己先試著寫;代碼僅供參考,有多種實(shí)現(xiàn)方法)

 

  1. 定義 is_Even 函數(shù),傳一 int 參數(shù),判斷是否是偶數(shù),return True;不是,return False

1 '''is_Even'''2 def is_Even(i):3     if(i%2==0):4         return True5     else:6         return False7 PRint(is_Even(0),is_Even(1),is_Even(1))
is_Even

 

  2. 定義 is_Int 函數(shù),傳一 float 參數(shù),判斷是否是整數(shù)(如1.0 即整數(shù)),return True;不是,return False

1 '''is_Int'''2 def is_Int(f):3     if(f%1==0):4         return True5     else:6         return False7 print(is_Int(0),is_Int(1.0),is_Int(1.1))
is_Int'

 

  3. 定義 digital_sum 函數(shù),傳一 int 參數(shù),return 其所有位數(shù)的數(shù)字相加的和;如:1234 返回 10(1+2+3+4); 900 返回 9 (9+0+0)

1 '''digital_sum'''2 def digital_sum(i):3     sum = 04     while(i/10>1):5         sum += i%10            6         i = int(i/10)7     sum += i8     return sum9 print(digital_sum(23423),digital_sum(900),digital_sum(0))
digital_sum 1
1 def digital_sum(i):2     i = str(i)3     sum = 04     for d in i:5         sum += int(d)6     return sum7 print(digital_sum(23423),digital_sum(900),digital_sum(0))
digital_sum 2

 

   4. 定義 factorial 函數(shù),傳一 int 參數(shù),return 其所有位數(shù)數(shù)字相乘的積;如:1234 返回 24 (1*2*3*4); 909 返回 0 (9*0*9)

1 '''factorial'''2 def factorial(i):3     result = 14     while(i/10>1):5         result *= i%10            6         i = int(i/10)7     result *= i8     return result9 print(factorial(1234),factorial(909),factorial(0))
factorial 1
1 '''factorial'''2 def factorial(i):3     i = str(i)4     result = 15     for d in i:6         result *= int(d)7     return result8 print(factorial(1234),factorial(909),factorial(0))
factorial 2

 

  5. 定義 is_prime 函數(shù),傳一 int 參數(shù),判斷是否是質(zhì)數(shù)(僅可被1或自己整除),若是,return True;不是,return False; 如:1 返回 True;2 返回 True;4 返回 False;13 返回 True

    規(guī)定 0 不是質(zhì)數(shù),返回 False

 1 '''is_prime''' 2 def is_prime(i): 3     result = True 4     for d in range(2,i): 5         if(i%d==0): 6             result = False 7             break 8     if(i==0): 9         result = False10     return result        11 print(is_prime(1),is_prime(2),is_prime(3),is_prime(4),is_prime(13),is_prime(197),is_prime(201),is_prime(0))
is_prime

 

  6. 定義 reverse 函數(shù),傳一 str 參數(shù),將所有字符串字符倒置并 return 該字符串;如:"abcd" return "dcba" 

   備注:list.reverse() 及 list[::-1] 可表示 list 倒置

1 '''reverse'''2 def reverse(s):3     l = list(s)4     new_l = []5     for i in range(len(l)-1,-1,-1):6         new_l.append(l[i])7     return     "".join(new_l)8 print(reverse("ab cd"),reverse(""))
reverse 1
'''reverse'''def reverse(s):    l = list(s)    l.reverse()        # l = l[::-1]    return     "".join(l)print(reverse("ab cd"),reverse(""))
reverse 2

 

  7. 定義 anti_vowel 函數(shù),傳一 str 參數(shù),將字符串中所有的元音(a e i o u) 去除(注意大小寫),并return;

   如:"Apple is red."  return  "ppl is rd."

   備注:對于list,for item in list_name 即可遍歷list,可以不用下標(biāo)的方式,參見下方的兩種方式(之后的例子也列出了兩種方式)

1 '''anti_vowel 1'''2 def anti_vowel(s):3     l = list(s)4     new_l = []5     for i in range(len(l)):6         if (l[i] not in {'a','e','i','o','u','A','E','I','O','U'}):7             new_l.append(l[i])8     return "".join(new_l)9 print(anti_vowel("Apple is red."))
anti_vowel 1
1 '''anti_vowel 2'''2 def anti_vowel(s):3     l = list(s)4     new_l = []5     for letter in l:6         if (letter not in {'a','e','i','o','u','A','E','I','O','U'}):7             new_l.append(letter)8     return "".join(new_l)9 print(anti_vowel("Apple is red."))
anti_vowel 2

 

  8. 定義 scrabble_score 函數(shù),傳一 str 參數(shù)。預(yù)設(shè)一組詞典(見下方引用),根據(jù)詞典中字母對應(yīng)的數(shù)值,將傳入?yún)?shù)的每個(gè)字母數(shù)值相加

  (非字母不加,注意大小寫轉(zhuǎn)換);如:"Word !"  分別對應(yīng)取 "w": 4 , "o": 1, "r": 1,"d": 2 , 相加為 4+1+1+2 = 8  return 該值

score = {"a": 1, "c": 3, "b": 3, "e": 1, "d": 2, "g": 2, "f": 4, "i": 1, "h": 4, "k": 5, "j": 8, "m": 3, "l": 1, "o": 1, "n": 1, "q": 10, "p": 3, "s": 1, "r": 1, "u": 1, "t": 1, "w": 4, "v": 4, "y": 4, "x": 8, "z": 10}

 1 '''scrabble_score 1''' 2 def scrabble_score(s): 3     score = {"a": 1, "c": 3, "b": 3, "e": 1, "d": 2, "g": 2, "f": 4, "i": 1, "h": 4, "k": 5, "j": 8, "m": 3, "l": 1, "o": 1, "n": 1, "q": 10, "p": 3, "s": 1, "r": 1, "u": 1, "t": 1, "w": 4, "v": 4, "y": 4, "x": 8, "z": 10} 4     l = list(s) 5     sum = 0 6     for i in range(len(l)): 7         letter = l[i].lower() 8         if letter in score.keys(): 9             sum += score[letter]10     return sum11 print(scrabble_score("Word !"),scrabble_score("Hello World~!"))
scrabble_score 1
 1 '''scrabble_score 2''' 2 def scrabble_score(s): 3     score = {"a": 1, "c": 3, "b": 3, "e": 1, "d": 2, "g": 2, "f": 4, "i": 1, "h": 4, "k": 5, "j": 8, "m": 3, "l": 1, "o": 1, "n": 1, "q": 10, "p": 3, "s": 1, "r": 1, "u": 1, "t": 1, "w": 4, "v": 4, "y": 4, "x": 8, "z": 10} 4     l = list(s) 5     sum = 0 6     for letter in l: 7         letter = letter.lower() 8         if letter in score.keys(): 9             sum += score[letter]10     return sum11 print(scrabble_score("Word !"),scrabble_score("Hello World~!"))
scrabble_score 2

 

  9. 定義 censor 函數(shù),傳兩個(gè) str 參數(shù):s, h;若 s 字符串中的單詞包含 h(全小寫)時(shí)(不區(qū)分大小寫,暫時(shí)僅考慮空格分隔的單詞),

   將其隱藏,每個(gè)隱藏的字母顯示為 *;該方法為不完善的隱藏字符方法,如隱藏字符后有標(biāo)點(diǎn),則仍會(huì)顯示。(若需完善,可用正則表達(dá)式,后續(xù)學(xué)習(xí))

     如:censor("Fuck U fuck ... ","fuck")  會(huì) return 字符串為 "**** U **** ... "  ;

       censor("My QQ is: 1000100, pls add my QQ","qq")  會(huì) return 字符串為 "My ** is: 1000100, pls add my **"

     備注: str.split(" ") 可根據(jù) " " 分隔字符串并返回為list; 字符串相乘,如 "*"*5 可輸出 "*****"

 1 '''censor 1''' 2 def censor(s,h): 3     l = s.split(" ") 4     new_l = [] 5     for i in range(len(l)): 6         word_l = l[i].lower() 7         if word_l==h: 8             new_l.append("*"*len(h)) 9         else:10             new_l.append(l[i])11     return " ".join(new_l)12 print(censor("Fuck U fuck ... ","fuck"))13 print(censor("My qq is: 1000100, pls add my QQ","qq"))
censor 1
 1 '''censor 2''' 2 def censor(s,h): 3     l = s.split(" ") 4     new_l = [] 5     for word in l: 6         if word.lower()==h: 7             new_l.append("*"*len(h)) 8         else: 9             new_l.append(word)10     return " ".join(new_l)11 print(censor("Fuck U fuck ... ","fuck"))12 print(censor("My qq is: 1000100, pls add my QQ","qq"))
censor 2

 

  10. 定義 count_i 函數(shù),傳兩個(gè)參數(shù) l, item:l 為一 list,item 為任意類型元素;return l 中包含 i 的個(gè)數(shù) ;

    如: count_i([1,2,3,4,2,1,3,1.0,"1"],1)         會(huì) return 3    (1.0 也可算入;"1" 不可算入)

       count_i(["b","a","ab","a","","A"], "a")     會(huì) return 2 

       count_i([["a"],"a"], ["a"])  會(huì) return 1;  count_i([["a"],"a"], ["a "])    會(huì) return 0

 1 '''count_item 1''' 2 def count_item(l,item): 3     count = 0 4     for i in range(len(l)): 5         if(l[i]==item): 6             count += 1 7     return count 8 print(count_item([1,2,3,4,2,1,3,1.0,"1"],1)) 9 print(count_item(["b","a","ab","a","","A"], "a"))10 print(count_item([["a"],"a"], ["a"]),count_item([["a"],"a"], ["a "])) 
count_item 1
 1 '''count_item 2''' 2 def count_item(l,i): 3     count = 0 4     for item in l: 5         if(item==i): 6             count += 1 7     return count 8 print(count_item([1,2,3,4,2,1,3,1.0,"1"],1)) 9 print(count_item(["b","a","ab","a","","A"], "a"))10 print(count_item([["a"],"a"], ["a"]),count_item([["a"],"a"], ["a "])) 
count_item 2

 

  11. 定義 purify 函數(shù),傳一 list 參數(shù);去除該 list 中所有的奇數(shù)(該list中全為int元素)

    如: purify([3,1,5,2,6,1,4])  會(huì) return [2,6,4]

1 '''purify 1'''2 def purify(l):3     l_new = []4     for i in range(len(l)):5         if(l[i]%2==0):6             l_new.append(l[i])7     return l_new8 print(purify([3,1,5,2,6,1,4]))
purify 1
1 '''purify 2'''2 def purify(l):3     l_new = []4     for i in l:5         if(i%2==0):6             l_new.append(i)7     return l_new8 print(purify([3,1,5,2,6,1,4]))
purify 2

 

  12. 定義 multiple 函數(shù),傳可變參數(shù)(該參數(shù)全為float),return 所有可變參數(shù)相乘的積,無參數(shù)則返回 None;

    如:multiple(3,2) return 6;multiple(3.5,2) return 7.0;multiple(3.5,2,3) return 21.0;multiple(3,2,0,3,) return 0;

    備注:函數(shù)調(diào)用可變個(gè)數(shù)的參數(shù),在其參數(shù)名前加*,如*args,這些參數(shù)將被包裝進(jìn)一個(gè)元組

 1 '''multiple 1''' 2 def multiple(*f): 3     m = 1 4     if(len(f)==0): 5         return None 6     else: 7         for i in range(len(f)): 8             m *= f[i] 9         return m10 print(multiple(2,3),multiple(3.5,2),multiple(3.5,2,3),multiple())
multiple 1
 1 '''multiple 2''' 2 def multiple(*f): 3     m = 1 4     if(len(f)==0): 5         return None 6     else: 7         for i in f: 8             m *= i 9         return m10 print(multiple(2,3),multiple(3.5,2),multiple(3.5,2,3),multiple())
multiple 2

 

  13. 定義 remove_duplicate 函數(shù),傳一參數(shù) list,刪除 list 中重復(fù)的項(xiàng);

    如 remove_duplicate([1,2,3,1.0,1,"1"]) return [1,2,3,"1"]

      備注:可用轉(zhuǎn)換為集合set 來去重,但無法保留 list 之前的順序

1 '''remove_duplicate 1'''2 def remove_duplicate(l):3     l_new = []4     for i in range(len(l)):5         if l[i] not in l_new:6             l_new.append(l[i])7     return l_new8 print(remove_duplicate([1,2,3,1.0,1,"1"]))
remove_duplicate 1
1 '''remove_duplicate 2'''2 def remove_duplicate(l):3     l_new = []4     for i in l:5         if i not in l_new:6             l_new.append(i)7     return l_new8 print(remove_duplicate([1,2,3,1.0,1,"1"]))
remove_duplicate 2
1 '''remove_duplicate 3'''2 def remove_duplicate(l):3     return list(set(l))4 print(remove_duplicate([1,2,3,1.0,1,"1"]))
remove_duplicate 3

 

  14. 定義 median 函數(shù),傳一參數(shù) list,該 list 中元素均為float或int數(shù)值;

    若 list 長度為奇數(shù),return 該list 最中間的數(shù);若 list 長度為偶數(shù),return 該 list 最中間兩個(gè)數(shù)的平均數(shù);若 list 為空,return none

    如 median([3,4,2]) return 3; median([7,2,3,4]) return 3.5  (3+4/2)

      備注:須先對 list 排序,用 sorted(list_name)

 1 '''median''' 2 def median(l): 3     l = sorted(l) 4     l_len = len(l) 5     if l_len == 0: 6         return None 7     elif l_len%2 == 1: 8         return l[int((l_len-1)/2)] 9     else:10         return (l[int((l_len)/2)] + l[int((l_len)/2)-1])/211 print(median([]),median([3,4,2]),median([7,2,3,4]))
median

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 若羌县| 奉化市| 温泉县| 兴隆县| 望谟县| 鄢陵县| 界首市| 喀喇| 青岛市| 泸水县| 启东市| 平江县| 昭通市| 玉屏| 奎屯市| 洛隆县| 大厂| 万源市| 泾源县| 盈江县| 永春县| 耿马| 北宁市| 新田县| 榆树市| 曲麻莱县| 淳化县| 高平市| 凤台县| 北碚区| 东港市| 安新县| 固镇县| 开化县| 杭州市| 沙雅县| 肥西县| 长春市| 海南省| 察隅县| 玛沁县|