Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10...

Post on 02-Sep-2019

52 views 4 download

Transcript of Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10...

Homework review

張傑帆 Chang, Jie-Fan

NTU CSIE

課程作業檢討

猜數字遊戲(guess.py)

質數判斷程式(prime.py)

猜數字進階版-終極密碼(guess_adv.py)

找出文章中出現最多的字及總字數(str.py)

集合功能完成問題(set.py)

成績計算與列印-二維List(score.py)

類別練習-找出平均最高分(student.py)

期末報告NTU CSIE

猜數字遊戲

讓系統隨機生成一數字介於1到5之間

使用者輸入一數字猜此數字是什麼

猜對的話輸出”猜對了”

猜錯則反之輸出”猜錯了”

NTU CSIE

guess.py

123456789

101112131415161718NTU CSIE

NTU CSIE

輸入一數字n

印出1到n之間的質數

Ex:n為100

>>>

2 is prime

3 is prime

5 is prime

7 is prime

11 is prime

13 is prime

17 is prime

19 is prime

23 is prime

29 is prime

31 is prime

37 is prime

41 is prime

43 is prime

47 is prime

53 is prime

59 is prime

61 is prime

67 is prime

71 is prime

73 is prime

79 is prime

83 is prime

89 is prime

97 is prime

>>>

prime.py

123456789

101112

NTU CSIE

猜數字進階版-終極密碼

令程式產生1個1~100間的亂數

令使用者輸入一所猜之數字

若未猜中程式須提示使用者縮小之範圍

直至猜中為止程式方可結束

寫好後可以大家一起玩懲罰遊戲喔!

NTU CSIE

guess_adv.py

NTU CSIE

1.找出文章中出現最多的字

Hint:可用 for c in text:

2.計算文章中「扣掉標點符號」後的字數

Hint: 可用 split或replace

NTU CSIE

str.py

……

請使用集合功能來完成以下問題:

米花市帝丹小學一年级B班正舉辦期中考試,數學及格的有:柯南、灰原、步美、美環、光彦,英文及格的有:柯南、灰原、丸尾、野口、步美。請分別列出「數學及格且英文不及格的同學名單」、「數學不及格且英文及格的同學名單」和「兩者皆及格」名單。

Hint:減法、交集

set.py

12345

math = {"柯南","灰原","步美","光彦","美環"} # 數學及格english = {"柯南","灰原","丸尾","野口","步美"} # 英文及格print(math-english) # 數學及格、英文不及格print(english-math) # 英文及格、數學不及格print(english.intersection(math)) # 英文及格、數學及格

NTU CSIE

假定某班有5位學生,每位學生各修3門科目

請利用二維List的方式儲存學生的各科成績

並設計一函式可計算一List之總分與平均

最後將每位學生的各科成績、總分及平均列印出來,並找出班上最平均高分的學生

NTU CSIE

score.py

NTU CSIE

將右方程式碼加入

分別將每個學生的成績平均、不及格的的數目印出

於類別外寫一個top的函數:

傳入值為學生物件的序列

將平均分數最高的學生回傳

student_test.py

123456789

101112131415161718

s1 = student("Tom","M")s2 = student("Jane","F")s3 = student("John","M")s4 = student("Ann","F")s5 = student("Peter","M")s1.add(80)s1.add(90)s1.add(55)s1.add(77)s1.add(40)s2.add(58)s2.add(87)s3.add(100)s3.add(80)s4.add(40)s4.add(55)s5.add(60)s5.add(60)

NTU CSIE

student.py

NTU CSIE

student.py

……

時間:最後一次上課

報告主題不限,任何用python寫的程式均可

準備約3~5分鐘的報告,製作數張投影片

大概講解一下程式的目的與程式碼的架構

現場簡單Demo一下程式執行過程與結果

程式碼不用是自己寫的沒關系

NTU CSIE