// 題目

攤位名牌列印

Stall Name Plate Printer・pync-08-01

  • APCS 中高級
  • 以函式拆解問題
  • Python 程式設計・08 Functions

時間限制 1 秒・記憶體 31 MB

到 Aki-Judge 送出

送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。

題目敘述

園遊會的每個攤位都會領到一塊格式統一的名牌:店名放中間,外面圍一圈框線。攤位換名字時,只要重印這塊名牌就好,所以框線的長度要跟著店名走。另外,有一個攤位還沒登記店名。

請寫一個函式 print_sign(name),由它自己印出名牌,而不是回傳字串。名牌共三行:

  • 第一行:+,接著一串 -,再接 +;- 的個數是店名字數加 2。
  • 第二行:| 、店名、 |。
  • 第三行:與第一行相同。

字數以「字元個數」計算,所以五個字的中文店名要配 7 個 -,不管它在螢幕上看起來多寬。店名為空字串時,改用 (尚未命名) 當店名,框線也依這個名字重新計算。

因為 print_sign 只負責印、沒有 return,而提供的主程式最後會把「最後一次呼叫的回傳值」印出來,所以輸出的最後一行會是 None。

輸入格式

第一行是整數 N,表示攤位數。接下來 N 行,每行一個店名。店名可能是空的,前後不會有空白。

輸出格式

依輸入順序,每個攤位輸出三行名牌,全部印完後再多輸出一行:最後一次呼叫 print_sign 的回傳值。

範例

範例 1

輸入

2
阿婆蚵仔煎

輸出

+-------+
| 阿婆蚵仔煎 |
+-------+
+--------+
| (尚未命名) |
+--------+
None

到 Aki-Judge 送出

送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。

卡住了可以到 Discord 的 #程式問題 發問,小墨助教會先給提示,不會直接給答案。