homework review 張傑帆 chang, jie-fanhomepage.ntu.edu.tw/~d02922022/python/ppt/python_10...

17
Homework review 張傑帆 Chang, Jie-Fan NTU CSIE

Upload: others

Post on 02-Sep-2019

45 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

Homework review

張傑帆 Chang, Jie-Fan

NTU CSIE

Page 2: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

課程作業檢討

猜數字遊戲(guess.py)

質數判斷程式(prime.py)

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

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

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

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

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

期末報告NTU CSIE

Page 3: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

猜數字遊戲

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

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

猜對的話輸出”猜對了”

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

NTU CSIE

Page 4: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

guess.py

123456789

101112131415161718NTU CSIE

Page 5: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

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

>>>

Page 6: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

prime.py

123456789

101112

NTU CSIE

Page 7: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

猜數字進階版-終極密碼

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

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

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

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

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

NTU CSIE

Page 8: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

guess_adv.py

NTU CSIE

Page 9: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

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

Hint:可用 for c in text:

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

Hint: 可用 split或replace

Page 10: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

NTU CSIE

str.py

……

Page 11: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

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

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

Hint:減法、交集

Page 12: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

set.py

12345

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

NTU CSIE

Page 13: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

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

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

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

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

NTU CSIE

Page 14: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

score.py

NTU CSIE

Page 15: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

將右方程式碼加入

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

於類別外寫一個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

Page 16: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

student.py

NTU CSIE

student.py

……

Page 17: Homework review 張傑帆 Chang, Jie-Fanhomepage.ntu.edu.tw/~d02922022/Python/ppt/python_10 課程作業檢討與期末報告.pdf · 課程作業檢討 猜數字遊戲(guess.py) 質數判斷程式(prime.py)

時間:最後一次上課

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

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

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

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

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

NTU CSIE