Skip to content

Python 701 串列數組轉換

Python TQC

題目說明:

請撰寫一程式,輸入數個整數並儲存至串列中,以輸入-9999為結束點(串列中不包含-9999),再將此串列轉換成數組,最後顯示該數組以及其長度(Length)、最大值(Max)、最小值(Min)、總和(Sum)。

範例輸入
-4
0
37
19
26
-43
9
-9999

範例輸出

(-4, 0, 37, 19, 26, -43, 9)
Length: 7
Max: 37
Min: -43
Sum: 44

題目解析

問題分析:

這個問題要求編寫一個程式,首先讓使用者輸入數個整數,並將這些整數儲存在一個串列中,直到用戶輸入-9999為止。然後將這個串列轉換成數組,並計算該數組的長度、最大值、最小值和總和,最後將這些統計數據輸出。

解題思路:

  1. 整數輸入:程式需要使用一個迴圈來接收用戶輸入的整數,直到用戶輸入-9999為止。在迴圈中,使用input()函式獲取用戶輸入,並將其轉換為整數。

  2. 串列的建立:將用戶輸入的整數逐個加入到一個串列中。

  3. 數組的轉換:使用tuple()函式將串列轉換成數組。

  4. 統計數據的計算:使用內建函式len()計算數組的長度,max()計算最大值,min()計算最小值,sum()計算總和。

  5. 輸出結果:將數組以及其相應的長度、最大值、最小值和總和輸出。確保輸出的格式符合題目要求。

思考方向:

  1. 用戶輸入的處理:確保用戶輸入的整數符合預期,並處理輸入中的特殊終止標誌-9999。

  2. 串列的建立:確保將用戶輸入的整數按照順序加入到串列中。

  3. 數組的轉換:確保將串列轉換成數組以進行後續的統計計算。

  4. 統計數據的計算:確保計算數組的長度、最大值、最小值和總和的函式調用是正確的。

Solution

l = []
while True:
    n = eval(input())
    if(n!=-9999):
        l.append(n)
    else:
        break
t = tuple(l)
print(t)
print("Length: %d"%(len(t)))
print("Max: %d"%max(t))
print("Min: %d"%min(t))
print("Sum: %d"%sum(t))

Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments