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

215. 訊號累積日誌

While Loop (迴圈)whilebreak累積狀態

記錄器逐筆更新一個數值狀態,遇到指定訊號時停止並交出日誌。

狀態從0開始,以 while 從左往右讀 values。在第一個符合「大於0的值」的格子之前停止;停止格不更新狀態。每個成功讀取的格子會「把狀態改成原值減去更新前狀態」,然後記錄更新後狀態。回傳 [狀態歷史清單, 停止索引];沒有停點時索引是原清單長度。索引一律指原清單位置。

傳入的資料

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

回傳的答案

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

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

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

💡 給我一點提示+

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

小提醒

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

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

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

登入後提交

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

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