NKUST ITC 108-1 Python[2]
2019/10/22
tags: NKUST ITC
Python 社課
今天進度0%
- 如果我單身,則我沒女友
- Only Loooooop
- Loooooop in Loooooop
- Function
如果我是單身,則我沒有女朋友
- Decision Making
做決策的方式,俗稱判斷式
if & else
| status = True |
| if (status): |
| print("ITC") |
| else: |
| print("NOT ITC") |
如果這樣寫
| re = 5 |
| if re >= 5: |
| print("OREREREREREO") |
| if re >= 4: |
| print("OREREREREO") |
| if re >= 3: |
| print("OREREREO") |
| if re >= 2: |
| print("OREREO") |
| else: |
| print("OREO") |
?_? 這不是我要的結果R
else if不能用?
| e = 5 |
| if e >= 5: |
| print("OREREREREREO") |
| elif e >= 4: |
| print("OREREREREO") |
| elif e >= 3: |
| print("OREREREO") |
| elif e >= 2: |
| print("OREREO") |
| else: |
| print("OREO") |
while
for
| for i in range(初始值, 終止值, 更新值): |
| do something |
1.基本操作
| while True: |
| print("ITC!!!") |
| for i in range(0, 10, 1): |
| print(i) |
| for i in range(10): |
| print(i) |
2.檔案操作法
| f = open(filename, "r") |
| for i in f: |
| print(i) |
Loop V.S. Decision Making
- 如果達成條件
- Loop會不斷執行
- Decision Making只執行一次
- Like This
| status = True |
| if status: |
| print("!!!") |
| else: |
| print("???") |
| |
| while status: |
| print("...") |
How to solve?
| status = True |
| while(status): |
| print("NKUST ITC") |
| status = False |
- or insert if-statement to loop
| status = True |
| while(status): |
| print("NKUST ITC") |
| if(status): |
| break |
Wait…what is break???
- 控制流程ㄉ好幫手
- 「break、continue、pass」以上都是好幫手
- 而他們使用恰當是具有相當大的好處滴
- break:跳出或中斷
- continue:跳過且繼續
- pass:Nothing Happen
484太難懂ㄌ?
| for i in range(10): |
| print(i) |
| for i in range(10): |
| if (i == 8): |
| break |
| print(i) |
continue怎麼用
| for i in range(10): |
| print(i) |
| for i in range(10): |
| if (i == 8): |
| continue |
| print(i) |
前面提到pass,那是啥
- 佔位仔,舉例
- 修了一堂人很多的課,太晚到會沒位置。
- 進教室看到一個空位
- 正要坐下去時,旁邊的人說:同學,這裡有人坐喔
- 我:???
怎麼用呢
| sleep = True |
| if sleep: |
| print("zzzzz") |
| else: |
| pass |
What is loop in loop
- 當一個迴圈需要第二個 第三個 … 第N個的時候
- 蛤?你在工三小?
- 算ㄌ…讓我們直接看ㄍ範例
(應該不是)金字塔三角形
- 當今天要印出「5x5的金字塔」,你會怎麼寫?
- 長得像這個鳥樣

| print(" *") |
| print(" **") |
| print(" ***") |
| print(" ****") |
| print("*****") |
| counter = 4 |
| for i in range(5): |
| if i < counter: |
| print(" ", end='') |
| else: |
| print("*", end='') |
| counter -= 1 |
| print() |
| for i in range(5): |
| if i < counter: |
| print(" ", end='') |
| else: |
| print("*", end='') |
| |
| layer = int(input("你要幾層的三角形ㄋ:")) |
| for i in range(layer): |
| for j in range(layer - (i + 1)): |
| print(" ", end='') |
| for j in range(i + 1): |
| print("*", end='') |
| print() |
- 給新手ㄉ練習題目
- 讀檔輸入,輸出對應數字的圖形
- 像這樣
# 輸入檔案:指定圖形 行寬或列高 & 指定圖形: 1:方形 2:三角形 3:菱形
# File:1 3
# 2 3
# 3 5
***
***
***
*
***
*****
*
***
*****
***
*
有人想知道這個怎麼印
*
***
*****
| layer = int(input("你要幾層ㄋ:")) |
| for i in range(layer): |
| for j in range(layer - i - 1): |
| print(" ", end='') |
| for j in range(2 * i + 1): |
| print("*", end='') |
| print() |
舉例
| def bmi(height, weight): |
| bmi = weight / ((height / 100) ** 2) |
| return "BMI是: {}".format(bmi) |
| |
| people = [ |
| { |
| "height": 180, |
| "weight": 90 |
| }, |
| { |
| "height": 120, |
| "weight": 20 |
| } |
| ] |
| for i in range(len(people)): |
| print(bmi(people[i]["height"], people[i]["weight"])) |
- 在Python中,不須指定函式的回傳型別
- 不回傳的話,不寫return就行
練習
請輸入動作: 說早安
輸出: 早安
請輸入動作: 睡覺
輸出: 我不會QQ
專案建議???
- 沒有想到可以做甚麼ㄉ,可以參考以下
- Discord Bot 狼人殺
- 高科美食地圖
- 高科聊天室(參考Dcard抽卡)
消夜文
一碗濃湯,美味的濃湯,香甜可口,一碗只要25,心動嗎?來買呀!

NKUST ITC 108-1 Python[2] https://python-slide.macs1207.dev 2019/10/22 tags: NKUST ITC Python 社課
{"metaMigratedAt":"2023-06-15T00:47:26.996Z","metaMigratedFrom":"Content","title":"NKUST ITC 108-1 Python[2]","breaks":true,"contributors":"[{\"id\":\"0543727d-0e35-443a-a198-84223cf6d534\",\"add\":4302,\"del\":712},{\"id\":\"478dc5a5-55d6-4469-91c3-56c4ab9c7543\",\"add\":3419,\"del\":1146}]"}