官方解答 · 置頂Python
官方解答|標籤加工線
官方解答
Python #267:標籤加工線
解題規則
標籤依序通過兩個文字處理工具,請保留兩站的加工結果。
寫兩個函式。first_step(text) 回傳轉為小寫的文字;second_step(text) 回傳將每個一般空格換成底線的文字。先把原輸入交給第一函式,再把第一步結果交給第二函式。回傳 [第一步結果, 第二步結果]。
處理步驟
先保存 first_step 的文字結果,再把該結果交給 second_step;保留兩步的回傳值。
為何正確
輔助函式只使用自己的參數,回傳該規則的結果;solve 按規定順序傳入原值或前一步結果。因此每次函式呼叫都完成其指定工作,組合結果也符合題目。
邊界與注意事項
本題輸入範圍:text 長度為 0~80;只含 ASCII 字元(編碼 0~127),不包含任何非 ASCII 字元。
範例追蹤
依參數順序 text 傳入 ["AaB2"]。關鍵中間資料為 first = 'aab2';second = 'aab2'。最後回傳 ['aab2', 'aab2']。結果由 return 回傳,不使用 print。
複雜度
設輸入及必要輸出的總大小為 n;複製、轉換或掃描最壞時間 O(n),保存中間資料與回傳結果最壞需要 O(n) 空間。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
def first_step(text):
return text.lower()
def second_step(text):
return text.replace(' ', '_')
def solve(text):
first = first_step(text)
second = second_step(first)
return [first, second]
留言討論 0
登入 後就能留言,一起討論不同的寫法。