所以問題是這樣的:
設計一個程式,要求用戶輸入商店一周中每一天的銷售額。金額應存盤在陣列中。使用回圈計算一周的總銷售額并顯示結果。
這是我迄今為止所擁有的
maxValue = 7
sales = 0
index = 0
totalSales = [maxValue]
for index in range(0, maxValue - 1):
totalSales[index] = float(input("Enter today's sales: $"))
我知道這是邊界問題,我在輸入第二個輸入后收到錯誤IndexError: list assignment index out of range。
除錯后我可以看到 totalSale = [maxValue] 給串列的長度為 1.. 但我不明白如何解決這個問題。我感謝您的幫助!
uj5u.com熱心網友回復:
您的代碼的問題在這一行:
totalSales = [maxValue]
該行基本上設定[7]為變數totalSales。您正在尋找的是*對串列的操作,以生成填充空( None)值的所需長度的串列:
maxValue = 7
sales = 0
index = 0
totalSales = [None] * maxValue
for index in range(maxValue):
totalSales[index] = float(input("Enter today's sales: $"))
或者更好的是,使用以下list.append()方法:
maxValue = 7
sales = 0
index = 0
totalSales = []
for index in range(maxValue):
totalSales.append(float(input("Enter today's sales: $")))
uj5u.com熱心網友回復:
maxValue = 7
sales = 0
index = 0
totalSales = list()
[maxValue] 只會maxValue向串列中添加一項值。Append 將新專案添加到串列中。對于范圍,您可以只使用maxValue作為引數,不需要 (0, maxValue)
for index in range(maxValue):
totalSales.append(float(input("Enter today's sales: $")))
uj5u.com熱心網友回復:
正如 Adam.Er8 所述,使用該append()函式將條目添加到串列中。你幾乎擁有它!此外,對該range()函式的呼叫將排除“第 n 個”索引,因此您無需從 maxValue 中減去一個即可獲得 7 個條目。下面的例子:
total_sales = []
for ix in range(0, maxValue):
totalSales.append(float(input("Enter today's sales: $")))
# results below
# Enter today's sales: $10
# Enter today's sales: $5
# Enter today's sales: $10
# Enter today's sales: $1
# Enter today's sales: $1
# Enter today's sales: $2
# Enter today's sales: $3
# total_sales
# [10.0, 5.0, 10.0, 1.0, 1.0, 2.0, 3.0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360839.html
