10/1作業4:if else 佮 使用者輸入
# 判斷一个整數是正數(奇數/雙數)、負數抑是零
while True :
num = input("請輸入一个整數: ")
if num.isdigit() == True:
break
num = int(num)
if num > 0:
print("這个數字是正數")
if num % 2 == 0:
print("而且是雙數")
else:
print("而且是奇數")
else:
if num == 0:
print("這个數字是零")
else:
print("這个數字是負數")
9/24 作業3:用兩層for loop做9x9 乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j} x {i} = {i*j}", end="\t")
print()
9/17 作業2 :用for loop抑是while loop 算 1+2+...+100
i=1
longtsong = 0
while i<=100:
longtsong +=i
i+=1
print(longtsong)
kekiong = 0
for a in range(1,101,1):
kekiong +=a
print(kekiong)
9/10 作業1 :顯示學號佮名(羅馬字)
print( "ATA114xxx Iûnn Ún-giân") 參考資料
12/4 練習
複製,檔名改做ATA1131xx.htm(你實際ê學號),用記事本開ATA1131xx.htm,kā , . (空白) 取代變做 <br>
開一个Excel檔案,檔名改做ATA1131xx.xlsx
用瀏覽器開ATA1131xx.htm,kā內容複製去 ATA1131xx.xlsx ê工作表1(A欄)
先對A欄排序(從A到Z排序),結果應該有850列,建議kā 851列後壁刣掉,存檔
上頂懸插入1列(所以資料變做tī A2 到A851),beh寫欄位標題,A1請輸入「語詞」,B1輸入「計算」,C1輸入「標記」
B2 彼格請寫公式 =if (A2=A1, B1+1, 1) 結果應該是1,了後tī B2正爿下跤double click,完成「計算」欄ê公式
C2 彼格請寫公式 =if(A2=A3,"","#") 結果應該是#,了後tī C2正爿下跤double click,完成「標記」欄ê公式
ATA1131xx.xlsx 增加一个工作表 工作表2,kā工作表1 ê內容複製去工作表2
tī工作表2 ,kā 「計算」佮「標記」這兩欄 複製,用「 以值貼上」ê方式貼去D欄佮E欄,了後kā B欄佮C欄刪除,D(計算)欄佮E(標記)欄變做 B(計算)欄佮C(標記)欄
「標記」有"#"記號ê,是咱beh愛ê資料
B1本成是「計算」,改做「詞頻」
kā A B C這三欄選起來,自訂排序-->用「標記」欄 Z到A 排,結果會kā 「標記」欄有"#"記號ê排tī頭前
kā 「標記」欄是空白ê彼幾列刪除(因為對咱來講是garbage)(有內容ê 會賰470列)
kā 「標記」欄刪除 (賰「語詞」、「詞頻」 兩欄)
kā 「語詞」、「詞頻」 兩欄選起來,自訂排序-->用「詞頻」欄 最大到最小
ATA1131xx.xlsx 增加一个工作表 工作表3,kā工作表2 ê內容複製去工作表3
tī 工作表3,C1輸入「百分比」,D1輸入「遮崁率」
cursor(游標) 徙去E1,自動加總,選B欄, 結果會是850 (E1 ê公式是 =SUM(B:B))
C2 彼格請寫公式 =B2/E$1 ,kā數字格式調整做 %、小數點以下2位,結果應該是3.76%
了後tī C2正爿下跤double click,完成「百分比」欄ê公式
D2 彼格請寫公式 =C2 ,D3 彼格請寫公式 =D2+C3
了後tī D3正爿下跤double click,完成「遮崁率」欄ê公式
檢查D470彼格ê內容,應該是 100%
完成的Excel檔案,有三个工作表
11/13 Case study :針對羅馬字台文語料,做詞頻統計
用記事本開,kā (空白) (tab) , ; : . ? ! “ ” … ─ 攏取代做 <br>,存檔ê時,副檔名改做 .htm
用瀏覽器開檔案,一个詞一个詞已經分開,kā主要Copy囥入去 Excel內底
照A欄排序,kā頭前數字ê部份攏刣掉,先檢查一下,應該有5991逝
利用B欄計算, B1 這格直接寫"1",B2這格寫公式 "=IF(A2=A1, B1+1, 1)",了後 double click kā B欄攏完成
C2 彼格請寫公式 =if(A2=A3,"","#") 結果應該是#,了後tī C2正爿下跤double click,完成C(標記)欄ê公式
11/6 掠文字檔案內底ê資料
tsonghun=0
with open("hunsoo.txt", mode="r") as tongan:
for mui1tsua in tongan:
tsonghun += int(mui1tsua)
print("總分是:", tsonghun)
10/30 if else語法
# 判斷一个整數是正數(奇數/雙數)、負數抑是零
num = int(input("請輸入一个整數:"))
if num > 0:
print("這个數字是正數")
if num % 2 == 0:
print("而且是雙數")
else:
print("而且是奇數")
else:
if num == 0:
print("這个數字是零")
else:
print("這个數字是負數")
# 根據分數決定等級
hunsoo = int(input("請輸入成績,整數,0-100:"))
if hunsoo >= 90:
tingkip = "A"
elif hunsoo >= 80:
tingkip = "B"
elif hunsoo >= 70:
tingkip = "C"
elif hunsoo >= 60:
tingkip = "D"
else:
tingkip = "F"
print("你的等級是:", tingkip)
10/23 recursive (Hanoi tower)
def hanoi(n, a, b, c):
"""
Hanoi tower問題ê recursive解法
Args:
n: 圓盤數量
a: 開始柱
b: 中間柱
c: 目標柱
"""
if n == 1:
print(f"Kā圓盤 1 uì {a}搬到 {c}")
return
else:
hanoi(n-1, a, c, b)
print(f"Kā圓盤 {n} uì {a} 搬到 {c}")
hanoi(n-1, b, a, c)
print("ATAxxxxxx miâ")
n = 5
hanoi(n, 'A', 'B', 'C')
10/16 用兩層for loop 做 9*9乘法表
Gemini 講會使按呢寫,咱用一下版本來修改
for i in range(1, 10):
for j in range(1, 10):
if i*j <10 :
print(f"{j} x {i} = {i*j}", end=" ")
else:
print(f"{j} x {i} = {i*j}", end=" ")
print()
10/9 請使用者輸入一个整數(integer) n,愛檢查輸入ê 是m̄是整數(若m̄是,就一直到輸入整數才繼續),算 1+2+...+n ê結果 (無法度tī模擬器執行)
n = input("請輸入一个整數: ")
n=int(n)
假使使用者輸入ê m̄是整數,程式會因為錯誤停落來
while True :
n = input("請輸入一个整數: ")
if n.isdigit() == True:
break