最後修改於 2026 / 3 / 12 by CML
🪄正在取得您的 IP...
https://www.codejudger.com/
@gcloud.csu.edu.tw
19911223
Python第一類
Python 101 文化部展覽資訊
1. 題目說明:
請開啟PYD01.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA01.py再進行評分。
程式所產出的檔案,須輸出與程式同一層資料夾。
2. 設計說明:
請撰寫一程式,讀取文化部展覽資訊read.json,請將其中title(活動名稱)、showUnit(演出單位)、startDate(活動起始日期)、endDate(活動結束日期)等四個欄位內容轉存為write.csv (需為UTF-8編碼格式),各欄位內容之間以一個半形逗號隔開。
提示:只需要輸出資料,不需要輸出欄位名稱。
3. 輸入輸出:
輸入說明
讀取read.json
輸出說明
將四個欄位的內容:title、showUnit、startDate、endDate,輸出至write.csv檔案,各欄位內容之間以一個半形逗號隔開
原始填空
# 載入 json 與 csv 模組
import ___
import ___
# 讀取 json 檔案並指定編碼為 utf8
with ___("___", encoding='___') as file:
data = json.load(file)
# 寫入 csv 檔案並指定編碼為 utf8
with ___("___", "___", encoding='___') as file:
csv_file = csv.writer(file)
# 寫入 title(活動名稱)、showUnit(演出單位)、startDate(活動起始日期)、endDate(活動結束日期)等四個欄位
for item in data:
csv_file.writerow([___['___'], ___['___'],
___['___'], ___['___']])
填空答案
# 載入 json 與 csv 模組
import json
import csv
# 讀取 json 檔案並指定編碼為 utf8
with open("read.json", encoding='utf8') as file:
data = json.load(file)
# 寫入 csv 檔案並指定編碼為 utf8
with open("write.csv", "w", encoding='utf8') as file:
csv_file = csv.writer(file)
# 寫入 title(活動名稱)、showUnit(演出單位)、startDate(活動起始日期)、endDate(活動結束日期)等四個欄位
for item in data:
csv_file.writerow([item['title'], item['showUnit'],
item['startDate'], item['endDate']])
Python 102 新北市公共自行車即時資訊
1. 題目說明:
請開啟PYD01.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA01.py再進行評分。
程式所產出的檔案,須輸出與程式同一層資料夾。
2. 設計說明:
請撰寫一程式,讀取新北市公共自行車即時資訊read.xml,請將其中sno(站點代號)、sna(中文場站名稱)、tot(場站總停車格)等三個欄位轉存為write.csv (需為UTF-8編碼格式),各欄位內容之間以一個半形逗號隔開。
提示:只需要輸出資料,不需要輸出欄位名稱。
3. 輸入輸出:
輸入說明
讀取read.xml
輸出說明
將三個欄位的內容:sno、sna、tot,輸出至write.csv檔案,各欄位內容之間以一個半形逗號隔開
原始填空
# 載入 xml.etree.ElementTree 模組並縮寫為 ET
import ___ as ___
# 載入 csv 模組
import ___
# 讀取 xml
tree = ___.___("___")
root = tree.getroot()
# 寫入 csv 檔案,編碼設定為 utf8
ubikefile = ___("___", "___", encoding='___')
csvwriter = csv.writer(ubikefile)
# 將其中 sno(站點代號)、sna(中文場站名稱)、tot(場站總停車格)等三個欄位寫出
for row in root:
ubike = []
sno = row.find('___').text
ubike.append(___)
sna = row.find('___').text
ubike.append(___)
tot = row.find('___').text
ubike.append(___)
csvwriter.writerow(ubike)
ubikefile.close()
填空答案
# 載入 xml.etree.ElementTree 模組並縮寫為 ET
import xml.etree.ElementTree as ET
# 載入 csv 模組
import csv
# 讀取 xml
tree = ET.parse("read.xml")
root = tree.getroot()
# 寫入 csv 檔案,編碼設定為 utf8
ubikefile = open("write.csv", "w", encoding='utf8')
csvwriter = csv.writer(ubikefile)
# 將其中 sno(站點代號)、sna(中文場站名稱)、tot(場站總停車格)等三個欄位寫出
for row in root:
ubike = []
sno = row.find('sno').text
ubike.append(sno)
sna = row.find('sna').text
ubike.append(sna)
tot = row.find('tot').text
ubike.append(tot)
csvwriter.writerow(ubike)
ubikefile.close()
Python 103 勞保投保薪資分級表
1. 題目說明:
請開啟PYD01.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA01.py再進行評分。
程式所產出的檔案,須輸出與程式同一層資料夾。
2. 設計說明:
請撰寫一程式,讀取勞保投保薪資分級表read.json內的資料後,將資料轉存為write.yaml。
3. 輸入輸出:
輸入說明
讀取read.json
輸出說明
將資料輸出至write.yaml
python -m pip install pyyaml 模組
原始填空
# 載入 yaml 與 json 模組
import ___
import ___
# 讀取 json 檔案
with ___("___", encoding='utf-8-sig') as file:
data = ___.___(___)
# 寫入 yaml 檔案
with ___("___", "___", encoding="utf-8") as f:
___.___(data, f, default_flow_style=False, allow_unicode=True)
填空答案
# 載入 yaml 與 json 模組
import yaml
import json
# 讀取 json 檔案
with open("read.json", encoding='utf-8-sig') as file:
data = json.load(file)
# 寫入 yaml 檔案
with open("write.yaml", "w", encoding="utf-8") as f:
yaml.dump(data, f, default_flow_style=False, allow_unicode=True)
Python 104 JSON檔案輸出處理
1. 題目說明:
請開啟PYD01.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA01.py再進行評分。
2. 設計說明:
請撰寫一程式,建立以下資料並將其輸出為write.json檔案:
{
'people' :
[{
'id': '1',
'name': 'Peter',
'country': 'Taiwan'
},
{
'id': '2',
'name': 'Jack',
'country': 'USA'
},
{
'id': '3',
'name': 'Cindy',
'country': 'Japan'
}]
}
3. 輸入輸出:
輸入說明
無
輸出說明
將資料輸出至write.json
原始填空
# 載入 json 模組
import ___
# 建立資料
# 'id': '1'
# 'name': 'Peter'
# 'country': 'Taiwan'
#
# 'id': '2'
# 'name': 'Jack'
# 'country': 'USA'
#
# 'id': '3'
# 'name': 'Cindy'
# 'country': 'Japan'
# 將資料寫入json檔案
with ___('___', '___') as outfile:
json.dump(___, ___)
填空答案
# 載入 json 模組
import json
# 建立資料
data = {
'people': [
{
'id': '1',
'name': 'Peter',
'country': 'Taiwan'
},
{
'id': '2',
'name': 'Jack',
'country': 'USA'
},
{
'id': '3',
'name': 'Cindy',
'country': 'Japan'
}
]
}
# 將資料寫入json檔案
with open('write.json', 'w') as outfile:
json.dump(data, outfile)
Python 105 受僱員工資料表
1. 題目說明:
請開啟PYD01.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA01.py再進行評分。
2. 設計說明:
請撰寫一程式連結read.db資料庫,讀取Employee資料表,輸出Employee資料表內的資料。
3. 輸入輸出:
輸入說明
無
輸出說明
輸出Employee資料表內的資料
原始填空
# 載入 sqlite3 模組
import ___
# 建立資料庫連結
con = ___.___('___')
# 建立cursor物件
___ = con.___
# 查詢Employee資料表
___.___("SELECT * FROM Employee")
# 印出查詢結果
for ___ in ___:
print(___)
# 關閉與資料庫的連結
con.close()
填空答案
# 載入 sqlite3 模組
import sqlite3
# 建立資料庫連結
con = sqlite3.connect('read.db')
# 建立cursor物件
cur = con.cursor()
# 查詢Employee資料表
cur.execute("SELECT * FROM Employee")
# 印出查詢結果
for t in cur.fetchall():
print(t)
# 關閉與資料庫的連結
con.close()
Python第二類
Python 201 搜尋字詞
1. 題目說明:
請開啟PYD02.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA02.py再進行評分。
2. 設計說明:
請撰寫一程式,爬取https://www.codejudger.com/target/5201.html,程式須回傳下列資訊:
讓使用者輸入欲搜尋的字詞,再輸出字詞的搜尋結果及字詞出現的次數。
3. 輸入輸出:
輸入說明
爬取網頁
搜尋的字詞
輸出說明
字詞的搜尋結果
字詞出現的次數
範例輸入及輸出
範例輸入及輸出
請輸入欲搜尋的字串 : TQC
TQC 搜尋成功
TQC 出現 23 次
原始填空
# 載入模組
import ___
import ___
url = '___'
# 使用 GET 請求
htmlfile = requests.___(___)
# 驗證HTTP Status Code
if htmlfile.status_code == ___:
# 欲搜尋的字串
___ = input("請輸入欲搜尋的字串 : ")
___ = re.findall(___, htmlfile.text)
if ___ in htmlfile.text:
print(___, "搜尋成功")
print(___, "出現 %d 次" % len(___))
else:
print(___, "搜尋失敗")
print(___, "出現 0 次")
else:
print("網頁下載失敗")
填空答案
# 載入模組
import requests
import re
url = 'https://www.codejudger.com/target/5201.html'
# 使用 GET 請求
htmlfile = requests.get(url)
# 驗證HTTP Status Code
if htmlfile.status_code == 200:
# 欲搜尋的字串
s = input("請輸入欲搜尋的字串 : ")
l = re.findall(s, htmlfile.text)
if s in htmlfile.text:
print(s, "搜尋成功")
print(s, "出現 %d 次" % len(l))
else:
print(s, "搜尋失敗")
print(s, "出現 0 次")
else:
print("網頁下載失敗")
Python 202 美元收盤匯率
1. 題目說明:
請開啟PYD02.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA02.py再進行評分。
程式所產出的檔案,須輸出與程式同一層資料夾。
2. 設計說明:
請撰寫一程式,爬取read.html,取得「新臺幣對美元銀行間成交之收盤匯率」資料,並將其中日期、NTD/USD兩個欄位的名稱與資料轉存為write.csv (需為UTF-8編碼格式)。
3. 輸入輸出:
輸入說明
爬取網頁
輸出說明
日期、NTD/USD兩個欄位的名稱與資料,輸出至write.csv
原始填空
# 載入 csv 模組
import csv
# 自 urllib.request 模組載入 urlopen 函數
from ___ import ___
# 自 bs4 模組載入 BeautifulSoup 函數
from ___ import ___
# 將資料寫入csv檔案,編碼為 utf8
file_name = "___"
f = open(file_name, "w", encoding='___')
# 以 csv 模組的 writer 函數初始化寫檔
w = ___.___(f)
# 爬取的目標網頁
htmlname = "___"
# urlopen 函數讀取 html 檔案
html = urlopen(___)
# 指定 BeautifulSoup 的解析器為 lxml
bsObj = BeautifulSoup(html, "___")
count = 0
# 將其中日期、NTD/USD 兩個欄位的名稱與資料轉存為csv
# 資料位置
for single_tr in bsObj.find("___", {"class": "___"}).findAll("___"):
if count == 0:
# 擷取資料位置
cell = single_tr.findAll("___")
else:
# 擷取資料位置
cell = single_tr.findAll("___")
F0 = cell[0].text
F1 = cell[1].text
data = [[F0, F1]]
w.writerows(data)
count = count + 1
f.close()
填空答案
# 載入 csv 模組
import csv
# 自 urllib.request 模組載入 urlopen 函數
from urllib.request import urlopen
# 自 bs4 模組載入 BeautifulSoup 函數
from bs4 import BeautifulSoup
# 將資料寫入csv檔案,編碼為 utf8
file_name = "write.csv"
f = open(file_name, "w", encoding='utf8')
# 以 csv 模組的 writer 函數初始化寫檔
w = csv.writer(f)
# 爬取的目標網頁
htmlname = "file:./read.html"
# urlopen 函數讀取 html 檔案
html = urlopen(htmlname)
# 指定 BeautifulSoup 的解析器為 lxml
bsObj = BeautifulSoup(html, "lxml")
count = 0
# 將其中日期、NTD/USD 兩個欄位的名稱與資料轉存為csv
# 資料位置
for single_tr in bsObj.find("table", {"class": "DataTable2"}).findAll("tr"):
if count == 0:
# 擷取資料位置
cell = single_tr.findAll("th")
else:
# 擷取資料位置
cell = single_tr.findAll("td")
F0 = cell[0].text
F1 = cell[1].text
data = [[F0, F1]]
w.writerows(data)
count = count + 1
f.close()
Python 203 台灣彩券
1. 題目說明:
請開啟PYD02.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA02.py再進行評分。
2. 設計說明:
請撰寫一程式,爬取https://www.codejudger.com/target/5203.html,程式須回傳下列資訊:
大樂透的開出順序
大樂透的大小順序
大樂透的特別號
3. 輸入輸出:
輸入說明
爬取網頁
輸出說明
大樂透的開出順序
大樂透的大小順序
大樂透的特別號
原始填空
# -*- coding: utf-8 -*-
import ___
import requests
url = '___'
# GET 請求
html = requests.___(___)
# 使用 lxml 解析器
objSoup = bs4.BeautifulSoup(html.text, '___')
dataTag = objSoup.select('.contents_box02')
balls = dataTag[2].find_all('___', {'class': '___'})
print("大樂透開獎 : ")
print('-------------')
# 開出順序
print("開出順序 : ", end='')
for i in range(6):
print(____.____, end=' ')
# 大小順序
print("\n大小順序 : ", end='')
for i in range(6, len(balls)):
print(____.____, end=' ')
# 特別號:資料位於 <div class="ball_red"></div>
redball = dataTag[2].find_all('___', {'class': '___'})
print("\n特別號 :", ____)
填空答案
# -*- coding: utf-8 -*-
import bs4
import requests
url = 'https://www.codejudger.com/target/5203.html'
# GET 請求
html = requests.get(url)
# 使用 lxml 解析器
objSoup = bs4.BeautifulSoup(html.text, 'lxml')
dataTag = objSoup.select('.contents_box02')
balls = dataTag[2].find_all('div', {'class': 'ball_yellow'})
print("大樂透開獎 : ")
print('-------------')
# 開出順序
print("開出順序 : ", end='')
for i in range(6):
print(balls[i].get_text(), end=' ')
# 大小順序
print("\n大小順序 : ", end='')
for i in range(6, len(balls)):
print(balls[i].get_text(), end=' ')
# 特別號:資料位於 <div class="ball_red"></div>
redball = dataTag[2].find_all('div', {'class': 'ball_red'})
print("\n特別號 :", redball[0].get_text())
Python 204 新北市大專院校名
1. 題目說明:
請開啟PYD02.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA02.py再進行評分。
2. 設計說明:
(1) 請撰寫一程式,爬取新北市大專院校名單,API連結如下:https://www.codejudger.com/target/5204.json
(2) 程式須輸出:新北市每一所大專院校的相關訊息:名稱、地址、聯絡電話、網站、資料更新時間。
3. 輸入輸出:
輸入說明
爬取API資料
輸出說明
新北市每一所大專院校的相關訊息:名稱、地址、聯絡電話、網站、資料更新時間
原始填空
# 載入 requests 模組
import ___
# 載入 json 模組
import ___
# 開放資料連結
url = '____'
# 以 requests 模組發出 HTTP GET 請求
res = ___.___(url)
# 將回傳結果轉換成標準JSON格式
data = json.loads(res.text)
# 輸出新北市大專院校名單
print('新北市大專院校名單:\n')
for record in data:
if record['type'] == '大專院校':
print('名稱:%s' % record['___'])
print('地址:%s' % record['___'])
print('聯絡電話:%s' % record['___'])
print('網站:%s' % record['___'])
print('資料更新時間:%s' % record['___'])
print()
填空答案
# 載入 requests 模組
import requests
# 載入 json 模組
import json
# 開放資料連結
url = 'https://www.codejudger.com/target/5204.json'
# 以 requests 模組發出 HTTP GET 請求
res = requests.get(url)
# 將回傳結果轉換成標準JSON格式
data = json.loads(res.text)
# 輸出新北市大專院校名單
print('新北市大專院校名單:\n')
for record in data:
if record['type'] == '大專院校':
print('名稱:%s' % record['name'])
print('地址:%s' % record['address'])
print('聯絡電話:%s' % record['tel'])
print('網站:%s' % record['website'])
print('資料更新時間:%s' % record['update_date'])
print()
Python 205 空氣品質指標(AQI)
1. 題目說明:
請開啟PYD02.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA02.py再進行評分。
2. 設計說明:
(1) 請撰寫一程式,爬取政府AQI開放資料,API連結:https://www.codejudger.com/target/5205.json
(2) 程式須回傳下列資訊:
內容長度
新北市每一個地區的相關訊息:地區名稱、AQI指數、PM2.5指數、PM10指數、資料更新時間;
在輸出時,AQI指數、PM2.5指數、PM10指數與資料更新時間四項資訊前加入一個 tab 鍵(\t)
3. 輸入輸出:
輸入說明
爬取API資料
輸出說明
內容長度
新北市每一個地區的相關訊息:地區名稱、AQI指數、PM2.5指數、PM10指數、資料更新時間
在輸出時,AQI指數、PM2.5指數、PM10指數與資料更新時間四項資訊前加入一個 tab 鍵(\t)
原始填空
# 載入 requests 與 json 模組
import ___
import ___
# 開放資料Json格式連結
url = ___
# 發出Get請求
response = ___
# 回傳內容長度
print(___, ___)
# 將取得的回傳內容轉換成Json格式
response = ___
print()
# 顯示新北市每一個地區的PM2.5相關資料
print('新北市PM2.5相關資料:')
for record in response:
if record['County'] == '___':
print('%s:' % record['___'])
print('AQI:%s' % record['___'])
print('PM2.5:%s' % record['___'])
print('PM10:%s' % record['___'])
print('資料更新時間:%s' % record['___'])
填空答案
# 載入 requests 與 json 模組
import requests
import json
# 開放資料Json格式連結
url = 'https://www.codejudger.com/target/5205.json'
# 發出Get請求
response = requests.get(url)
# 回傳內容長度
print('Content-Length:', len(response.content))
# 將取得的回傳內容轉換成Json格式
response = json.loads(response.text)
print()
# 顯示新北市每一個地區的PM2.5相關資料
print('新北市PM2.5相關資料:')
for record in response:
if record['County'] == '新北市':
print('%s:' % record['SiteName'])
print('\tAQI:%s' % record['AQI'])
print('\tPM2.5:%s' % record['PM2.5'])
print('\tPM10:%s' % record['PM10'])
print('\t資料更新時間:%s' % record['PublishTime'])
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案
Python 201 搜尋字詞
原始填空
填空答案