簡體   English   中英

使用用戶輸入創建列表? 銷售計划,進入銷售7天

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM