[英]Creating a list with user input? Sales program, enter sales for 7 days
所以問題是這樣的:
設計一個程序,要求用戶輸入一周中每一天的商店銷售額。 金額應存儲在數組中。 使用循環計算一周的總銷售額並顯示結果。
這是我目前所擁有的
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.. 但我不明白如何解決這個問題。 感謝您的幫助!
您的代碼的問題出在這一行:
totalSales = [maxValue]
該行基本上將[7]
設置為變量totalSales
。 您正在尋找的是列表上的*
操作以生成您所需長度的列表,其中填充了 null ( 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: $")))
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: $")))
如 Adam.Er8 所述,使用append()
function 將條目添加到列表中。 您幾乎擁有它,此外,對range()
function 的調用將排除“第 n 個”索引,因此您無需從 maxValue 中減去 1 即可獲得 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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.