我试图从另一个类创建一堆Parts对象,但它似乎并没有起作用。我正确读取txt文件,如果你们需要它就是这个:
partA 22.50 60
partB 595.00 100
partC 1.95 1000
partD 899.95 100
partE 10.95 100
在零件库存类下的#fills零件---------------------评论下出现问题。印刷声明不起作用。
class Parts:
def __init__(self, partname, price, quantity):
self.partName = partname
self.partPrice = price
self.partQuantity = quantity
def getpartname(self):
return self.partName
def getpartprice(self):
return self.partPrice
def getpartquantity(self):
return self.partQuantity
def setpartname(self, name):
self.partName = name
def setpartprice(self, price):
self.partPrice = price
def setpartquantity(self, quantity):
self.partQuantity = quantity
def equals(self, part2):
if self.partName == part2:
return True
class PartInventory: # constructer, getter setter, dictionary
def __init__(self):
self.partInventoryy={}
partnames = []
partprices = []
partqs = []
partfile = open("parts.txt", "r", encoding="utf-8")
#fills dictionary----------------------------------------------------
for line in partfile:
substring = line.split(' ')
partnames.append(substring[0])
partprices.append(substring[1])
partqs.append(substring[2].strip("\n"))
self.partInventoryy=dict(zip(partnames, partqs))
partPricings = dict(zip(partnames, partprices))
print(self.partInventoryy)
#fills parts--------------------------------------------------------
i=0
while i<len(partnames):
partnames[i]= Parts(partnames[i],partprices[i],partqs[i])
i=i+1
print(partE.getpartname())
#methods---------------------------------------------------------------------
答案 0 :(得分:1)
正在创建Part
个对象。
问题是你正试图访问你从未创建的东西 - PartE
。为了比较,您创建了一些变量:
partnames
partprices
partqs
partfile
line
i
substring
为了向自己证明你是在while循环中创建东西,再添加一行:
while i<len(partnames):
partnames[i]= Parts(partnames[i],partprices[i],partqs[i])
i=i+1
print(partnames[i])
这将打印您创建的每个Parts
。