Weeks <<
Previous Next >> OBS Streaming
Week1-5
建立個人cd2020倉儲
1.下載2019Fall可攜套件.7z,完成後開啟start。
2.先登入自己的github帳號,創建一個新的倉儲cd2020。
3.進入要存放該資料的資料夾tmp。
4.git clone https://github.com/s40723210/cd2020 。
5.git submodule add https://github.com/mdecourse/cmsimde.git。
6.再進入cmsimde,將up_dir的所有項目複製到cd2020。
7.完成後,python wsgi.py 開始編輯倉儲。
8.login密碼為admin,gitconfig要有帳號密碼。
9.處理完,git status > git add . > git commit -m "標題" > git push。
10.開啟github倉儲設定,點選要推送的branch即可。
我的教學影片:https://youtu.be/jBFzju1F43s
Updated Python 3.8.2
1.從Python官方網站,下載3.8.2版本的安裝檔。
2.完成後開啟,點選Customize installation(定制安裝)。
3.將第二個選項的pip取消勾選,其他都可以勾選起來。
4.使用預設勾選,將路徑改為y槽的py382資料夾(自己創建)。
5.用編輯器來開啟start_mdecourse.bat檔案。
6.將檔中的py373全部都改成py382後,重新啟動。
7.直接在y槽中執行,python get-pip.py 來安裝pip軟件。
8.完成之後,來安裝軟件包,輸入python pip install Flask 依此類推。
9.安裝的有Flask、Markdown、lxml、bs4、flask_cors、pelican、leo。
我的教學影片:https://youtu.be/Im6e8ZD1-Xo
分配工作和問題討論
40623115 亂數分組程式
40623251 可攜系統
40723204 可攜系統
42723210 四輪車 可攜系統 亂數分組程式
40723212 四輪車
40723225 四輪車
40723232 亂數分組程式
40723234 可攜系統
40723238 四輪車
40723245 亂數分組程式
40723250 亂數分組程式
負責各主題的人,主要以課堂上的進度,來更新個人的倉儲,每次更新進度時要做一下紀錄。所有的主題必須要在2020年3月26日之前完成,提交3-5頁的兩欄pdf報告,並在youtube上保存3-5分鐘的影片,將pdf文件放在個人倉儲 downloads / assignment1.pdf。最後整合的作業以assignment1放在自己的網站連結加/ assignment1內。有問題可以在我的 gitter 以及 老師的 gitter 上面發問,會的人也可以幫忙回答。
直播影片:https://www.youtube.com/watch?v=r0AABAp474U
Fork分組倉儲
1.先登入github,在搜尋自己組的倉儲,點進去。
2.點選右上角的Fork,選擇自己的github。
3.git clone --recurse-submodules (倉儲網址)。
4.git push完成,點選New pull request,等組長同意。
5.有衝突的話,進行git pull (分組網址) 。
6.整合完成之後即可git push,等待組長同意。
我的教學影片(有字幕):https://youtu.be/1bZ16BgmF8c
New pull request
1.先登入github,點進去想要fork的倉儲。
2.點選右上角的Fork,再選擇自己的github。
3.git clone --recurse-submodules (倉儲網址)。
4.更新git push完成,點選New pull request,等組長同意。
5.組員要進行更新時,要記得先git pull (分組網址) 檢查版本。
6.有衝突的話,組長要處理和整合分支並且解決衝突。
我的教學影片:https://youtu.be/1bZ16BgmF8c
Random grouping
測試程式可以到:Random grouping
抽查的python程式
如果要使用python來進行亂數分組抽查的話,可以導入random來從列表中隨機抽出所需要的n個不同元素,如下面的程式執行之後,就可以亂數抽出4位。
1
2
3
4
5
6
|
import random
group = [ 4 , 10 , 12 , 25 , 32 , 34 , 38 , 45 , 50 ]
team = random.sample(group, 4 )
print (team)
|
再來是要讀取網頁資料的話,就要導入requests,使用get請求即可直接下載,例如member = requests.get("網址"),再用print(member.text)就可以印出來了如下。
1
2
3
4
5
6
7
|
import requests
web = "https://mdecourse.github.io/cd2020/downloads/2b_group_list.txt"
member = requests.get(web)
print (member.text)
|
如果使用讀取出的資料,還是無法使用的,因為member.text的性質是str字串,所以我就要將它變回原本的list列表,才可以進行亂數分組,改這個非常的簡單如下。
最後我整理出來的程式,雖然沒有老師這麼精美,但是也是可以進行亂數分組的抽查的,如果要改抽查人數,改y = random.sample(i,2)的數字即可。
最終程式碼
程式碼連結:抽查程式.py
1
2
3
4
5
6
7
8
9
10
11
12
|
import requests
import random
web = "https://mdecourse.github.io/cd2020/downloads/2b_group_list.txt"
member = requests.get(web)
x = 0
for i in eval (member.text):
y = random.sample(i, 2 )
x + = 1
print ( "group" + str (x))
print (y)
|
亂數分組的的python程式
一開始先從網頁上抓人員,這次跟上面的不太一樣,抓出來的本來就是str字串,所以必須把每個學號轉變為list列表,直接將f.text加上 .split() 來轉換,完成之後就可以使用,random.shuffle()來將整個順序打亂,再來設定一共要分幾組,再使用while迴圈來判斷每一組要有幾個人,使用if判斷是來中斷迴圈,len()是指一共有幾個數量的意思,要加組別的話就要再多寫一列,接著使用for 迴圈來從,剛剛算好的每組人數,例如:13、12、12、12,再使用一個for迴圈,來一個一個配置組人員,這時候直接使用迭代iter()的next(),來抓人員這樣子就不會重複了,最後再加上一些說明、分格、標題,就可以開始進行亂數分組了。
最終程式碼
程式碼連結:亂數分組.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import requests
import random
web = "http://s1.mde.nfu.edu.tw:8000/?semester=1082&courseno=0780"
f = requests.get(web)
x = f.text.split()
random.shuffle(x)
group1,group2,group3,group4 = 0 , 0 , 0 , 0
while 1 = = 1 :
group1 + = 1
if (group1 + group2 + group3 + group4) = = len (x):
break
group2 + = 1
if (group1 + group2 + group3 + group4) = = len (x):
break
group3 + = 1
if (group1 + group2 + group3 + group4) = = len (x):
break
group4 + = 1
if (group1 + group2 + group3 + group4) = = len (x):
break
print ( "全班人數有" + str ( len (x)) + "人" )
print ( "=" * 20 )
grp_num = group1,group2,group3,group4
a = iter (x)
team = 0
for i in grp_num:
team + = 1
print ( "group" + str (team) + " 共 " + str (i) + " 人" )
for g in range (i):
print ( next (a))
print ( "-" * 20 )
|
Portable System 範例:
PortableGit: https://git-scm.com/download/win
MSYS2: https://www.msys2.org/
Python 3.8.1: https://www.python.org/downloads/
CMSiMDE: https://github.com/mdecourse/cmsimde
Flask: https://github.com/pallets/flask
lxml: https://github.com/lxml/lxml
bs4: https://pypi.org/project/beautifulsoup4/
markdown: https://github.com/Python-Markdown/markdown
flask-cors: https://github.com/corydolphin/flask-cors
Pelican: https://github.com/getpelican/pelican
Reveal.js: https://github.com/hakimel/reveal.js/
Leo Editor: https://github.com/leo-editor/leo-editor
SciTE: https://www.scintilla.org/SciTEDownload.html
Tiny C Compiler: https://github.com/TinyCC/tinycc
Fossil SCM: https://www.fossil-scm.org/
Jupyterlab: https://github.com/jupyterlab/jupyterlab
Flutter: https://github.com/flutter/flutter
Visual Studio Code: https://github.com/microsoft/vscode
V-rep可動四輪車
使用內建功能來創建模型,並且模擬最基本的直線移動。
影片連結:https://youtu.be/y8DJ1sjuAqM
Weeks <<
Previous Next >> OBS Streaming