2022年4月14日 星期四

2022 暑期實習生 程式能力考試題目綱要

 

2022 暑期實習生 程式能力考試題目綱要

2022 暑期實習生 Python程式能力考試題目綱要

考試日期:2022/APR/18

考試地點:國家地震工程研究中心(台北市辛亥路三段200號)

注意事項 1: 同時有python程式考試與面談。

注意事項 2:考試時請自備筆記本電腦(notebook pc)。

注意事項 3: 題目中使用的數據檔案(資料),現場公布。

注意事項 4: 題目綱要預先公開,參與考試的同學可以預先作題。

注意事項 5: 程式請使用Python 撰寫。


面談時間 與程式考試交錯進行 面試完成可繼續作答
請面試者準備 5分鐘 (自我介紹簡報)
現場有 5分鐘面試委員提問。

程式考題 

(題目定義不詳盡之處請自行做合理假設,並於程式註解中說明。)

一、下載人口消長資料 (建議 社會經濟資料服務平台segis),取得最近20年台灣地區(不計算離島)人口,每年的人口總數/出生總數/死亡總數(三個欄位)。請自行定義CSV格式,儲存以上的答案。CSV檔案名稱請自行命名,並請撰寫python 利用 matplotlib 繪製(人口總數/出生總數/死亡總數 )折線圖,參考下面提示:

二、試讀取import.csv,整理該檔案中各地址資料,並儲存下列特定欄位至另一名為export.csv

       1                            2               3    4

指定欄位:town_code, road, zone, lane or alleynumberfloor

 

例:

import10004,10004010,中崙里,5,光明九路,,155,2,1

export10004010,光明九路1552,1 

 

三、請將txt(HOUF43D10.txt)中的地址部分擷取出來,計算所有地址用到的字符(數字符號變換為D, 英文符號變換為A,如: B101  ADDD)頻率,儲存成一個txt檔,並將頻率大於2的字符與其頻率儲存成另一txt檔。

 

四、試撰寫一時間計算函數,輸入一時間(格式為YYYY-MM-DD HH:SS,如:2020-04-15 20:30),並回覆該天是星期幾,再計算出該時刻至今經過幾個太陽日(Julian date),不足一日時,需用浮點數表示之。

 

註:太陽日(Julian date)名詞解釋:

指以公元前471311日為原點,所經過的日數作為日期記載的方式。如1995109日的太陽日期為2,450,000。在計算兩事件的間隔日數時特別方便。參【太陽曆】(Julian calendar)。

 

五、試撰寫一網路爬蟲函數,輸入一個關鍵字後,回傳第一個google搜尋結果。即透過internet 傳送 request google 搜尋引擎,處理google的回傳結果後,將首個超連結回傳。


六、找出迴文數 (Palindromes)
把一個數倒過來寫若和原數一樣,就稱為迴文數,例如:

101、121、919、2002、2112、1230321...

關於迴文數有趣的是,我們隨便取一個數(比如78),拿它去和它逆序翻轉後形成的新數(87)相加,
所得的數再和它逆序翻轉後形成的新數相加,如此循環下去,猜猜結果會怎樣?好像會得到一個迴文數:

78+87=165 → 165+561=726 → 726+627=1353 → 1353+3531=4884(迴文數)

再舉一例:

從1169 開始:
1169+9611=10780 → 10780+08701=19481 → 19481+18491=37972 →
37972+27973=65945 → 65945+54956=120901 → 120901+109021=229922(迴文數)

請你設計一個程式,輸入2 位數以上的任意正整數n,計算依照上述方法,要加幾次才會得到迴文數,
若超過5,000 次還無法得到迴文數,則輸出"no"(不含雙引號)。

請參考第六題 出處為以下連結