CodeSprout程式萌芽
← 返回題庫 Python 基礎語法 / 第 234 題 操作教學 ↗
困難While Loop (迴圈)

234. 訊號分段日誌

While Loop (迴圈)while巢狀清單重設狀態

訊號串流含有分段標記,請將每段的數值狀態更新記錄分開保存。

用 while 逐格讀 values。每個符合「大於0的值」的格子都是分隔符:不計算該格,先存下目前片段,再開始空片段並把狀態重設為0。其餘格子會「正數使狀態加1,負數減1,零不變」,把更新後狀態加到目前片段。結束時一定存入最後片段,保留所有空片段;因此空輸入回傳 [[]]。回傳各片段的狀態歷史清單。索引與第一個原始值都指未分段前的原輸入。

傳入的資料

values:整數清單,可能為空。

回傳的答案

依題意回傳指定結果;使用 return,不用 print。

範例 1
傳入[[]]
回傳[[]]
範例 2
傳入[[0]]
回傳[[0]]

清單長度 0~12;每個值為 -100~100 的整數。

💡 給我一點提示+

先把輸入、處理步驟與回傳格式分開想,再逐步完成題目規定的操作。

小提醒

以 solve(...) 作為測試入口,用 return 回傳答案。需要時可在上方加入 import、自訂函式與類別;不需要自己讀取輸入。

雲端草稿 PRO
跨裝置接續尚未提交的程式
</>你的程式碼
Python
本機草稿自動保存Tab 縮排・Esc 再 Tab 離開編輯器 ⌘ / Ctrl + Enter 測試

測試會執行 3 組公開案例與你新增的自訂案例。 登入後可提交程式,通過全部公開與隱藏測資後標記完成。

登入後提交

公開案例固定為 3 組。自訂案例只用於測試,不納入提交評分。0 / 17 組自訂案例

測試在瀏覽器內執行,不會標記完成或增加 XP。Python 首次載入需要網路。