sky
January 24, 2021, 3:51am
1
時間:2021年2月7日 20:00~20:30
與會人員:Aileen, Sky, 玉米, 筑筑(依筆劃順序)
旁聽人員:Laurence, speedthunder, 胖胖(依筆劃順序)
導讀:Sky
經過前兩次討論(Day 1~4)後,發現一個問題。
之前三堂共學課程(flutter初階、flutter進階、scrapy爬蟲),上課的朋友程度比較接近,所以討論的內容,主要是課程看到的重點、實作時遇到的問題,以及相關主題的延伸參考資訊。
但這次 Python百日馬,各組組員是常態分配,從新手到資深都有,上述方式有點卡住,沒辦法像之前那樣討論。
本次討論(Day 5~6),改用新的方式,比較接近讀書會。
一、由導讀人導讀
方式為各章逐節介紹。
二、線上影音,搭配文字描述(依序由上而下)
導讀內容,貼到論壇中(texture)
Discord 即時語音交談(audio)
如有需要,分享電腦螢幕畫面(video)作即時解說
三、與會組員,如有問題或補充,也是以上述三種方式回覆。
每次討論前,要做的事:
一、新手每完成一日課程(例如 Day 5),在論壇中回報自己的程式碼網址(repl.it)。
二、有問題隨時在論壇中發問,不用等到討論時才提出。
筑筑_廖
February 3, 2021, 6:34am
2
1 Like
sky
February 4, 2021, 2:09pm
3
@筑筑_廖
line 23 的 print 不要縮排,不然會跟著 line 20 的迴圈跑。
同理,line 35~37也是。
sky
February 7, 2021, 7:26am
4
為了加速我們的討論,先請問新手幾個問題,建議在討論前回覆(有經驗的朋友免回):
一、Thonny 安裝
請問是否有安裝 Thonny?(「有」或「沒有」)
補充:我沒有裝,但我認為了解程式如何一步一步執行(以及每個變數在各步驟中,值的變化),對新手很重要。
我看之前提出的問題,很多都是因為搞不清楚程式是如何逐步執行。
二、各章節的題目,是否都已完成 (指Day5。「完成」或列出所有未完成的章節,如:「5-53, 5-54」)
三、想提問的問題 (如果有,可以在下方提出你的問題)
5-54 Day 5 Project: Create a Password Generator
感謝!
一、我有安裝Thonny
二、各章節都有完成
三、目前是都有聽懂,不過我發現自己最大的問題,是對於「活用學過的東西來思考解決流程」這部份很困擾,所以會卡關比較久 。我想這部份還是只能靠多練習了。
1 Like
sky
February 7, 2021, 11:59am
6
今天打算加入「語音頻道」,有些事情用說的比較快。
為了做記錄,我會錄音,以防有漏掉的訊息,但最好是用不到,因為聽錄音很花時間。
使用方法很簡單,點選 Discord 語音頻道的「書房 1」即可,還可以分享電腦畫面。
有空的朋友,可以在8點前自己試一下。
不方便說話的人,可以只聽不說(Discord 左下方,你可以控制耳機和麥克風)。
提醒:為了避免電腦輸出的聲音進入麥克風,造成無限迴音,建議用耳機聽(取代電腦播放聲音)。
1 Like
筑筑_廖
February 7, 2021, 12:01pm
7
一、我還沒有安裝Thonny
二、各章節都已完成
三、目前都可以聽懂,就是需要多練習
sky
February 7, 2021, 12:06pm
8
■ 5-48. Using the for loop with Python Lists
語法介紹
for items in list_of_items:
#Do something to each item
2:13 Thonny 示範
問卷調查:只請教新手,回覆一下有沒有安裝 Thonny。(「有」或「沒有」)
補充:我沒有裝,但我覺得知道程式如何一步一步執行(以及每個變數在各步驟中,值的變化),對新手很重要。
我看之前提出的問題,很多都是因為搞不清楚程式是如何逐步執行。
5:25 縮排觀念的複習 => 冒號 :
if, for… 都是,隸屬同一個縮排的,要全部執行完,才會繼續這個指令(if, for…)之後的事
1 Like
sky
February 7, 2021, 12:07pm
9
■ 5-49. [Interactive Coding Exercise] Average Height #自我挑戰練習
https://repl.it/@appbrewery/day-5-1-exercise
目標:計算學生平均身高 Average height
輸入:輸入學生身高(格式:156 178 165 171 187),數量不限
輸出:上述輸入之平均身高(僅整數部分,答案是171)
限制:
一、不要使用 len(list) 及 sum(list) functions
二、使用 for 迴圈的方式
測試用題目與答案:
180 124 165 173 189 169 146
164
提示:cheatsheet?
■ round() 四捨五入後,僅保留整數
1 Like
sky
February 7, 2021, 12:15pm
10
■ 5-50. [Interactive Coding Exercise] High Score #自我挑戰練習
https://repl.it/@appbrewery/day-5-2-exercise
目標:找出學生最高分 High Score
輸入:輸入學生分數(格式:78 65 89 86 55 91 64 89),數量不限
輸出:上述輸入之最高分(答案是91)
限制:
一、不要使用 max(list) 或 min(list) functions
二、使用 for 迴圈的方式
測試用題目與答案:78 65 89 86 55 91 64 89 (答案是91)
===================
■ 問題:請問新手可以用 while 做一個功能相同的嗎?
■ 複習:上次在想,指定變數值這個行為,在現實生活中的對應。後來想到一個:你的錢包。
wallet = 0 # 錢包目前裡面的錢是0
wallet = wallet + 3000 # wallet += 3000 # 放了3000元進去,所以現在錢包裡有3000元
wallet = wallet - 500 # wallet -= 500 # 拿了500元出來,所以現在錢包裡有2500元
1 Like
day-5-2是 for loop 的正確 verion
sky
February 7, 2021, 12:22pm
13
■ 5-51. for loops and the range() function
語法介紹
sky
February 7, 2021, 12:23pm
14
numbers = []
for number in numbers:
do something
# for loop in range
for number in range(start, stop+1): # from start to stop
do something
for number in range(start, stop+1, step): # from start to stop
do something
for number in range(1, 11, 3):
print(number)
1
4
7
10
1 Like
sky
February 7, 2021, 12:26pm
16
■ 5-52. Adding Even Numbers #Exercise
https://repl.it/@appbrewery/day-5-3-exercise
目標:從1~100中,將所有的偶數相加
語法介紹:% 餘數
The Modulo Operator % # 餘數
if number % 2 == 0 # number 是偶數時,除以 2 餘 0
do something
sky
February 7, 2021, 12:27pm
17
■ 5-53. The FizzBuzz Job Interview Question #Exercise
https://repl.it/@appbrewery/day-5-4-exercise (題目)
https://repl.it/@appbrewery/day-5-4-solution (答案)
目標:FizzBuzz。數字是3的倍數時,用Fizz取代;是5的倍數時,用Buzz取代;同時是3和5的倍數時,用FizzBuzz取代
小技巧:如果想要讓自己記住 range 後方的數字要減一,可以嘗試這種寫法
for number in range(1, 100+1):
...
sky
February 7, 2021, 12:28pm
18
■ 5-54. Project: Create a Password Generator
https://repl.it/@appbrewery/password-generator-start
我試了三種方式:
一、string remove or extract
失敗。因為 remove 是給 list 用的,還沒找到 string 是否有類似用法
二、get value from list & list.remove()
成功。從 list 取出某 item 的值,然後刪除這個 item。
三、list.pop()
pop 就是二的兩步驟合而為一。取值並刪除。
結果他的 list 次序亂數是怎麼做的?
結果是 shuffle
random.shuffle(password_list)
■ 而且,為了使用 shuffle ,Angela 先將 string 轉為 list,完成後再將 list 轉換回 string
Python 如何隨機打亂列表(List)排序
在 list中看不到,因為是 random 的函式
5. Data Structures — Python 3.9.1 documentation
https://docs.python.org/3/tutorial/datastructures.html
random — Generate pseudo-random numbers — Python 3.9.1 documentation
https://docs.python.org/3/library/random.html
1 Like