游泳班報名的年齡欄
Swim Class Age Field・pync-13-01
- APCS 初級
- 測試、迴圈不變量與對拍
- Python 程式設計・13 Debugging & Errors
時間限制 1 秒・記憶體 31 MB
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
題目敘述
社區游泳班用網頁表單收報名,「年齡」是一個自由輸入的文字框,每天匯出來的內容很雜:有人留白,有人寫「三十二」或西元出生年,也有人填了看得懂、卻不符合資格的數字。
給你 N 份表單的年齡欄原文,請把每一份歸入下列恰好一類,判斷順序如下:
- 去掉前後空白後是空字串:Missing(沒填)。
- 否則,若內容無法轉成整數(以 Python 的
int()能否轉換為準):Unreadable(無法判讀)。 - 否則,若整數小於 18 或大於 75:Ineligible(不符資格)。負數也是整數,所以屬於這一類。
- 其餘:Accepted(收下)。
最後輸出收下的表單的平均年齡;如果一份都沒收下,就沒有平均可印。
輸入格式
第 1 行是 N,表單的份數。接下來 N 行,每行是一格照原樣抄下來的年齡欄,這一行有可能是空的。
輸出格式
依序印出 Accepted、Missing、Unreadable、Ineligible 四個計數,然後印出收下的表單的平均年齡(小數點後 2 位);如果一份都沒收下,改印 No accepted ages。
範例
範例 1
輸入
7
34
三十二
16
58
1993
-5輸出
Accepted: 2
Missing: 1
Unreadable: 1
Ineligible: 3
Average age: 46.00說明
int("") 與 int("三十二") 都會丟出 ValueError,所以空白必須在轉換之前就先分出來。年齡是否落在 18 到 75 之間是規則而不是錯誤,用 if 判斷即可。
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
卡住了可以到 Discord 的 #程式問題 發問,小墨助教會先給提示,不會直接給答案。