我试图写一段代码来显示每件商品的库存(Stock_level)。但正如标题中提到的那样,我得到了一个错误。我正在将txt文件导入数组
code,description,stock_level,min_stock,max_stock,buying_price,selling_price
1,tukul,3,5,25,20.00,25.00
2,mouse,20,5,25,30.00,35.00
3,keyboard,2,5,25,30.00,35.00
4,headphone,20,5,25,100.00,105.00
5,monitor,1,5,25,150.00,155.00
6,cpu,20,5,25,700.00,705.00
7,casing,20,5,25,100.00,105.00到目前为止,我的代码如下:
import numpy as np
import csv
list = np.zeros((7,8),dtype = str)
a = np.genfromtxt('stock.txt',delimiter = ',',dtype = str)
#print(a)
class stock:
def __init__(self, code, description, stock_level, min_stock, max_stock, buying_price, selling_price):
self.code = code
self.description = description
self.stock_level = stock_level
self.min_stock = min_stock
self.max_stock = max_stock
self.buying_price = buying_price
self.selling_price = selling_price
def sell(stock):
i = 0
while i < 7:
for r in a:
r = 1
for c in a:
print(a[r][1]," have ", a[r][2]," of stocks")
r += 1
i += 1
disp = stock("","",0,0,0,0,0)
disp.display()
#disp.buy()
#disp.buy()
disp.sell()问题出在函数sell()中。
下面是我得到的输出:
tukul have 3 of stocks
mouse have 20 of stocks
keyboard have 2 of stocks
headphone have 20 of stocks
monitor have 1 of stocks
cpu have 20 of stocks
casing have 20 of stocks
Traceback (most recent call last):
File "D:\OOP\Python\Kiosk\main.py", line 72, in <module>
disp.sell()
File "D:\OOP\Python\Kiosk\main.py", line 64, in sell
print(a[r+1][1]," have ", a[r+1][2]," of stocks")
IndexError: index 8 is out of bounds for axis 0 with size 8
>>我得到的结果是,我想要哪个库存列表可用于每个项目。但是我不知道是什么导致了这个错误
发布于 2019-10-13 12:10:29
大多数编程语言都使用Zero based numbering。这意味着它们从0开始计数。例如,list[0]指的是list的第一项,list[7]指的是第八项。当您引用list[8]时,您引用的是大小为8的数组的第9个元素,这会引发错误。
发布于 2019-10-13 11:59:04
您的数组从索引0开始,所以如果您尝试访问索引8,这是不可能的,您需要一个大小为9的数组。大小为8的数组的最大索引是7。
https://stackoverflow.com/questions/58360447
复制相似问题