AS01: Python Basics#
PART I: Trivial Question with AI#
Q1_1: Converting Fahrenheit to Celsius temperature degree#
請你寫出轉換攝氏溫度為華氏溫度的Code。並輸出為以下型態
例如:(攝氏tc
溫度等於華氏tf
溫度減32
後乘以5/9
)。
請你寫出轉換華氏溫度為攝氏溫度的Code。
Sample output:
tc: 10 tf: 50.0
tc = 10
# Your code should be here
Q1_2: 計算一元二次方程的解#
題目描述:已知一個一元二次方程 (ax^2 + bx + c = 0),其中 (a = 1, b = -3, c = 2),請寫一個 Python 程式計算它的兩個解。
解的公式(注意應該會有兩個答案): $\(x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}\)$
import math
# 已知 a, b, c
a = 1
b = -3
c = 2
# 在這裡寫程式碼計算解
# 在這裡輸出解
Q1_3: String as list#
在Python中,string字串也可以用list的方式來存取。如
word = "Pneumonoultramicroscopicsilicovolcanoconiosis" # 實際上存在的單字
print(word[3])
請用dictionary計算該字串中每個字元出現過幾次。
Output:
{'P': 1, 'n': 4, 'e': 1, 'u': 2, 'm': 2, 'o': 9, 'l': 3, 't': 1, 'r': 2, 'a': 2, 'i': 6, 'c': 6, 's': 4, 'p': 1, 'v': 1}
cdict = {}
word = "Pneumonoultramicroscopicsilicovolcanoconiosis"
# YOUR CODE SHOULD BE HERE
print(cdict)
{}
PART II: Accessing Taipei Bus real time data#
以下是台北市某線公車的即時資料。資料中主要分為兩大塊,包含該線公車的停靠站以及正在路上跑的公車(通常不只一台)及其位置。請觀察該資料並回答以下問題。
HINT: 這些題目其實都可以問AI把答案問出來,但要稍微思考一下,要怎麼印。
import requests
import json
url = "https://pda.5284.gov.taipei/MQS/RouteDyna?routeid=11763&nocache=1633009377839"
response = requests.get(url)
route = json.loads(response.text)
print(type(route))
route
<class 'dict'>
{'UpdateTime': '2025-03-27 15:16:53',
'Stop': [{'id': 204939,
'n1': 'N1,204939,11763,-1,,,,-1,,2,2,250327150854,00081680,250327150854,46432178'},
{'id': 204940,
'n1': 'N1,204940,11763,-1,,,,-1,,2,2,250327150854,07890624,250327150854,46432174'},
{'id': 204941,
'n1': 'N1,204941,11763,-1,,,,-1,,2,2,250327150854,07892907,250327150854,46432173'},
{'id': 15341,
'n1': 'N1,15341,11763,-1,,,,-1,,2,2,250327150854,07917950,250327150854,46432841'},
{'id': 15342,
'n1': 'N1,15342,11763,-1,,,,-1,,2,2,250327150854,07929740,250327150854,46432840'},
{'id': 15343,
'n1': 'N1,15343,11763,-1,,,,-1,,2,2,250327150854,07943129,250327150854,46432839'},
{'id': 15344,
'n1': 'N1,15344,11763,-1,,,,-1,,2,2,250327150854,07968908,250327150854,46432838'},
{'id': 130134,
'n1': 'N1,130134,11763,-1,,,,-1,,2,2,250327150854,07983673,250327150854,46439585'},
{'id': 15345,
'n1': 'N1,15345,11763,-1,,,,-1,,2,2,250327150854,07994561,250327150854,46455898'},
{'id': 134736,
'n1': 'N1,134736,11763,-1,,,,-1,,2,2,250327151030,08010397,250327151030,46569263'},
{'id': 15346,
'n1': 'N1,15346,11763,-1,,,,-1,,2,2,250327151056,08021994,250327151056,46603535'},
{'id': 15347,
'n1': 'N1,15347,11763,-1,,,,-1,,2,2,250327151138,08026868,250327151138,46652934'},
{'id': 15348,
'n1': 'N1,15348,11763,-1,,,,-1,,2,2,250327151354,08062584,250327151354,46816414'},
{'id': 15349,
'n1': 'N1,15349,11763,-1,,,,-1,,2,2,250327151534,08080802,250327151534,46939548'},
{'id': 15350,
'n1': 'N1,15350,11763,-1,,,,-1,,2,2,250327151618,08091804,250327151618,46989152'},
{'id': 15351,
'n1': 'N1,15351,11763,222240398,15350,15376,0,76,1,0,2,250327151607,08091002,250327151607,46979450'},
{'id': 15352,
'n1': 'N1,15352,11763,222240398,15350,15376,0,131,2,0,2,250327151607,08091003,250327151607,46979451'},
{'id': 134750,
'n1': 'N1,134750,11763,222240398,15350,15376,0,228,3,0,2,250327151607,08091004,250327151607,46979452'},
{'id': 15354,
'n1': 'N1,15354,11763,222240398,15350,15376,0,314,4,0,2,250327151607,08091005,250327151607,46979453'},
{'id': 15355,
'n1': 'N1,15355,11763,222240398,15350,15376,0,391,5,0,2,250327151607,08091006,250327151607,46979454'},
{'id': 15356,
'n1': 'N1,15356,11763,222240398,15350,15376,0,438,6,0,2,250327151607,08091007,250327151607,46979455'},
{'id': 15357,
'n1': 'N1,15357,11763,222240398,15350,15376,0,546,7,0,2,250327151607,08091008,250327151607,46979456'},
{'id': 15358,
'n1': 'N1,15358,11763,222240398,15350,15376,0,666,8,0,2,250327151607,08091009,250327151607,46979457'},
{'id': 15359,
'n1': 'N1,15359,11763,222240398,15350,15376,0,828,9,0,2,250327151607,08091010,250327151607,46979458'},
{'id': 15360,
'n1': 'N1,15360,11763,222240398,15350,15376,0,857,10,0,2,250327151607,08091011,250327151607,46979459'},
{'id': 15361,
'n1': 'N1,15361,11763,222240398,15350,15376,0,875,11,0,2,250327151607,08091012,250327151607,46979460'},
{'id': 134745,
'n1': 'N1,134745,11763,222240398,15350,15376,0,899,12,0,2,250327151607,08091013,250327151607,46979461'},
{'id': 15362,
'n1': 'N1,15362,11763,222240398,15350,15376,0,946,13,0,2,250327151607,08091014,250327151607,46979462'},
{'id': 15363,
'n1': 'N1,15363,11763,222240398,15350,15376,0,998,14,0,2,250327151607,08091015,250327151607,46979463'},
{'id': 15364,
'n1': 'N1,15364,11763,222240398,15350,15376,0,1026,15,0,2,250327151607,08091016,250327151607,46979464'},
{'id': 15365,
'n1': 'N1,15365,11763,222240398,15350,15376,0,1154,16,0,2,250327151607,08091017,250327151607,46979465'},
{'id': 15366,
'n1': 'N1,15366,11763,222240398,15350,15376,0,1279,17,0,2,250327151607,08091018,250327151607,46979466'},
{'id': 15367,
'n1': 'N1,15367,11763,222240398,15350,15376,0,1360,18,0,2,250327151650,08103118,250327151650,47029807'},
{'id': 15368,
'n1': 'N1,15368,11763,222240417,15367,15376,0,66,1,0,2,250327151626,08092485,250327151626,46999107'},
{'id': 185809,
'n1': 'N1,185809,11763,222240417,15367,15376,0,118,2,0,2,250327151626,08092486,250327151626,46999108'},
{'id': 15370,
'n1': 'N1,15370,11763,222240417,15367,15376,0,173,3,0,2,250327151626,08092487,250327151626,46999109'},
{'id': 15371,
'n1': 'N1,15371,11763,222240417,15367,15376,0,220,4,0,2,250327151626,08092488,250327151626,46999110'},
{'id': 15372,
'n1': 'N1,15372,11763,222240417,15367,15376,0,350,5,0,2,250327151626,08092489,250327151626,46999111'},
{'id': 15373,
'n1': 'N1,15373,11763,222240417,15367,15376,0,446,6,0,2,250327151626,08092490,250327151626,46999112'},
{'id': 15374,
'n1': 'N1,15374,11763,222240417,15367,15376,0,575,7,0,2,250327151626,08092491,250327151626,46999115'},
{'id': 15375,
'n1': 'N1,15375,11763,222240417,15367,15376,0,699,8,0,2,250327151626,08092492,250327151626,46999122'},
{'id': 15376,
'n1': 'N1,15376,11763,222240417,15367,15376,0,876,9,0,2,250327151626,08092493,250327151626,46999124'},
{'id': 15377,
'n1': 'N1,15377,11763,222240408,15376,15376,0,77,1,0,2,250327151505,08076755,250327151505,46900547'},
{'id': 15378,
'n1': 'N1,15378,11763,222240408,15376,15376,0,143,2,0,2,250327151505,08076756,250327151505,46900548'},
{'id': 15379,
'n1': 'N1,15379,11763,222240408,15376,15376,0,271,3,0,2,250327151505,08076757,250327151505,46900549'},
{'id': 15380,
'n1': 'N1,15380,11763,222240408,15376,15376,0,376,4,0,2,250327151505,08076758,250327151505,46900550'},
{'id': 15381,
'n1': 'N1,15381,11763,222240408,15376,15376,0,519,5,0,2,250327151505,08076759,250327151505,46900551'},
{'id': 15563,
'n1': 'N1,15563,11763,222240408,15376,15376,0,654,6,0,2,250327151505,08076760,250327151505,46900552'},
{'id': 15695,
'n1': 'N1,15695,11763,222240408,15376,15376,0,698,7,0,2,250327151505,08076761,250327151505,46900553'},
{'id': 15939,
'n1': 'N1,15939,11763,222240408,15376,15376,0,782,8,0,2,250327151505,08076762,250327151505,46900554'},
{'id': 16129,
'n1': 'N1,16129,11763,222240408,15376,15376,0,826,9,0,2,250327151505,08076763,250327151505,46900555'},
{'id': 16277,
'n1': 'N1,16277,11763,222240408,15376,15376,0,879,10,0,2,250327151505,08076764,250327151505,46900556'},
{'id': 16391,
'n1': 'N1,16391,11763,222240408,15376,15376,0,962,11,0,2,250327151505,08076765,250327151505,46900557'},
{'id': 16561,
'n1': 'N1,16561,11763,222240408,15376,15376,0,1057,12,0,2,250327151505,08076766,250327151505,46900558'},
{'id': 16613,
'n1': 'N1,16613,11763,222240408,15376,15376,0,1171,13,0,2,250327151505,08076767,250327151505,46900559'},
{'id': 151309,
'n1': 'N1,151309,11763,222240408,15376,15376,0,1220,14,0,2,250327151505,08076768,250327151505,46900560'},
{'id': 16615,
'n1': 'N1,16615,11763,222240408,15376,15376,0,1287,15,0,2,250327151505,08076769,250327151505,46900561'},
{'id': 16655,
'n1': 'N1,16655,11763,222240408,15376,15376,0,1306,16,0,2,250327151505,08076770,250327151505,46900562'},
{'id': 16657,
'n1': 'N1,16657,11763,222240408,15376,15376,0,1341,17,0,2,250327151505,08076771,250327151505,46900563'},
{'id': 16673,
'n1': 'N1,16673,11763,222240408,15376,15376,0,1389,18,0,2,250327151505,08076772,250327151505,46900564'},
{'id': 16791,
'n1': 'N1,16791,11763,222240408,15376,15376,0,1476,19,0,2,250327151505,08076773,250327151505,46900565'},
{'id': 17009,
'n1': 'N1,17009,11763,222240408,15376,15376,0,1594,20,0,2,250327151611,08091196,250327151611,46984056'},
{'id': 17011,
'n1': 'N1,17011,11763,222239780,17009,204944,0,113,1,1,2,250327151552,08089812,250327151552,46958122'},
{'id': 17013,
'n1': 'N1,17013,11763,222239780,17009,204944,0,194,2,1,2,250327151552,08089813,250327151552,46958123'},
{'id': 130094,
'n1': 'N1,130094,11763,222239780,17009,204944,0,307,3,1,2,250327151552,08089814,250327151552,46958124'},
{'id': 17015,
'n1': 'N1,17015,11763,222239780,17009,204944,0,405,4,1,2,250327151552,08089815,250327151552,46958125'},
{'id': 134751,
'n1': 'N1,134751,11763,222239780,17009,204944,0,471,5,1,2,250327151552,08089816,250327151552,46958126'},
{'id': 17017,
'n1': 'N1,17017,11763,-1,,,,-2,,2,2,250327151232,08039916,250327151232,46718818'},
{'id': 17019,
'n1': 'N1,17019,11763,222239780,17009,204944,0,509,7,1,2,250327151552,08089817,250327151552,46958134'},
{'id': 17089,
'n1': 'N1,17089,11763,222239780,17009,204944,0,560,8,1,2,250327151552,08089818,250327151552,46958135'},
{'id': 17201,
'n1': 'N1,17201,11763,222239780,17009,204944,0,599,9,1,2,250327151552,08089819,250327151552,46958136'},
{'id': 17234,
'n1': 'N1,17234,11763,222239780,17009,204944,0,650,10,1,2,250327151552,08089820,250327151552,46958137'},
{'id': 17400,
'n1': 'N1,17400,11763,222239780,17009,204944,0,689,11,1,2,250327151552,08089821,250327151552,46958138'},
{'id': 17402,
'n1': 'N1,17402,11763,222239780,17009,204944,0,831,12,1,2,250327151552,08089822,250327151552,46958139'},
{'id': 17404,
'n1': 'N1,17404,11763,222239780,17009,204944,0,873,13,1,2,250327151552,08089823,250327151552,46958140'},
{'id': 134737,
'n1': 'N1,134737,11763,222239780,17009,204944,0,898,14,1,2,250327151552,08089824,250327151552,46958141'},
{'id': 17406,
'n1': 'N1,17406,11763,222239780,17009,204944,0,1009,15,1,2,250327151552,08089825,250327151552,46958142'},
{'id': 130135,
'n1': 'N1,130135,11763,222239780,17009,204944,0,1044,16,1,2,250327151552,08089826,250327151552,46958143'},
{'id': 17408,
'n1': 'N1,17408,11763,222239780,17009,204944,0,1096,17,1,2,250327151552,08089827,250327151552,46958144'},
{'id': 17410,
'n1': 'N1,17410,11763,222239780,17009,204944,0,1137,18,1,2,250327151552,08089828,250327151552,46958145'},
{'id': 17412,
'n1': 'N1,17412,11763,222239780,17009,204944,0,1213,19,1,2,250327151552,08089829,250327151552,46958146'},
{'id': 17414,
'n1': 'N1,17414,11763,222239780,17009,204944,0,1246,20,1,2,250327151552,08089830,250327151552,46958147'},
{'id': 204942,
'n1': 'N1,204942,11763,222240410,17414,204944,0,57,1,1,2,250327151632,08094544,250327151632,47010925'},
{'id': 204943,
'n1': 'N1,204943,11763,222240410,17414,204944,0,82,2,1,2,250327151632,08094545,250327151632,47010926'},
{'id': 204944,
'n1': 'N1,204944,11763,222240410,17414,204944,0,122,3,1,2,250327151632,08094546,250327151632,47010927'}],
'Bus': [{'id': 222240410,
'num': 'EAL-1061',
'type': '1',
'a1': 'A1,10710,222240410,1,0,11763,1,121.608390,24.998910,0,206,151641,1,250327151641,54333909,250327151641,47021211',
'a2': 'A2,10710,222240410,1,0,11763,1,17414,0,151459,2,250327151459,57945834,250327151459,46895566',
'a3': None},
{'id': 222239780,
'num': 'EAL-0103',
'type': '1',
'a1': 'A1,10710,222239780,1,0,11763,1,121.567545,24.988695,14,097,151653,1,250327151653,54334567,250327151653,47031762',
'a2': 'A2,10710,222239780,1,0,11763,1,17009,0,151611,2,250327151611,57946837,250327151611,46984045',
'a3': None},
{'id': 222240398,
'num': 'EAL-1065',
'type': '1',
'a1': 'A1,10710,222240398,1,0,11763,0,121.573705,24.991920,0,189,151651,1,250327151651,54334493,250327151651,47030721',
'a2': 'A2,10710,222240398,1,0,11763,0,15350,0,151617,2,250327151618,57946932,250327151618,46989143',
'a3': None},
{'id': 222239774,
'num': 'EAL-0037',
'type': '1',
'a1': 'A1,10710,222239774,2,0,11763,1,121.615930,24.999488,0,000,151640,1,250327151640,54333853,250327151640,47019886',
'a2': 'A2,10710,222239774,2,92,11763,1,204944,0,151620,2,250327151626,57947042,250327151626,46998763',
'a3': None},
{'id': 222240408,
'num': 'EAL-1063',
'type': '1',
'a1': 'A1,10710,222240408,0,0,11763,0,121.534002,25.022228,0,092,151641,1,250327151642,54333948,250327151642,47021756',
'a2': 'A2,10710,222240408,1,0,11763,0,15376,0,151521,2,250327151522,57946131,250327151522,46919821',
'a3': None},
{'id': 222240417,
'num': 'EAL-1073',
'type': '1',
'a1': 'A1,10710,222240417,1,0,11763,0,121.549688,25.000853,32,250,151652,1,250327151653,54334568,250327151653,47031766',
'a2': 'A2,10710,222240417,1,0,11763,0,15367,0,151652,2,250327151653,57947409,250327151653,47031765',
'a3': None},
{'id': 222239787,
'num': 'EAL-0039',
'type': '1',
'a1': 'A1,10710,222239787,1,0,11763,0,121.615937,24.998967,0,000,151650,1,250327151650,54334432,250327151650,47029990',
'a2': 'A2,10710,222239787,1,0,11763,0,204939,1,151626,2,250327151630,57947128,250327151630,47008338',
'a3': None}]}
Q2_1 Accessing data#
請列印出你所抓到的資料時間。
Output sample:
2023-09-10 14:03:09
# YOUR CODE HERE
Q2_2: Number of bus#
請問在你所抓的時間點共有幾台公車?提示:你抓的時間和老師抓的時間可能不同,所以答案可能不同,公車數量可能會不同。
Output sample:
2023-09-10 14:03:09 There are 5 buses
# YOUR CODE HERE
Q2_3: 該線公車在該時間點共有幾個停靠站?#
Output Sample:
Number of stop: 85
# YOUR CODE HERE
Q2_4: Print out bus id#
印出資料抓取時間點的所有公車車牌號碼。
Output sample:
563-FZ
EAL-0102
380-U8
KKA-0668
for bus in route['Bus']:
# YOUR CODE HERE
Cell In[8], line 4
^
SyntaxError: incomplete input
## YOUR CODE SHOULD BE HERE
PART III: Reviewing with AI#
你只需要把以下問題拿去AI,把AI告訴你的結果,貼在下方的markdown cell即可。 但請你借此練習一下使用markdown,把AI告訴你的結果整理好。
Q3_1: 請用公車的資料說明,何謂List?#
Q3_2: 請用公車的資料說明,何謂Dictionary?#
Q3_3: 請用公車的資料說明,for-loop的機制與功能?#
Q3_4: 公車的資料除了以上題目外,你還可以用來做什麼?#
HINT 1:不單只考慮一條路線?
HINT 2:可否結合視覺化的功能?
HINT 3:是否可以結合其他資料?
HINT 4:可否動態呈現?
HINT 5:還可以做出什麼應用?