CodeSprout程式萌芽
中等第 36 題 · 控制台分流
CodeSprout 官方2026/10/04 00:19
官方解答 · 置頂Python

官方解答|控制台分流

官方解答

Python #36:控制台分流

解題規則

控制台收到三個讀值,需要依條件選擇一份輸出資料。

先檢查「a 大於 b」。成立時選 [a,b,c],不成立時選 [c,b,a]。回傳 [條件是否成立, 選到的結果];第一項一定是布林值。

處理步驟

先用原始 a、b、c 算出 ok。ok 成立時取規則前半項,不成立時取後半項,回傳 [ok,選到的結果]。

為何正確

條件只讀取原始輸入,成立與不成立的分支涵蓋所有可能。多條件情況分別記住兩個布林值,因此四種組合不會混淆。

邊界與注意事項

本題輸入範圍:a、b、c 均為 -100~100 的整數。

範例追蹤

依參數順序 a, b, c 傳入 [-4,-4,2]。關鍵中間資料為 ok = False;result = [2, -4, -4]。最後回傳 [False, [2, -4, -4]]。結果由 return 回傳,不使用 print。

複雜度

依本題有界的數字、日期範圍,執行固定次數運算,時間與額外空間為 O(1)。

CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式

def solve(a, b, c):
    ok = a > b
    if ok:
        result = [a,b,c]
    else:
        result = [c,b,a]
    return [ok, result]

留言討論 0