奇姆斯
问题被反驳了
你好。我正在尝试使用类、对象等进行小型业务管理。我正在尝试做的是,每当我输入项目的数量时,它将乘以价格,并在我输入3个项目(贴纸、衬衫和鞋子)后得到一个总数。我试图在每次出现错误时更改它,但更改后仍会出现新的错误。更改内容后,我得到的列表不可调用或不可订阅。甚至在该类被命名为“学生”之前,我也收到了一个错误“学生未定义”。我在第25行和第13行也有错误,我想我输入的是正确的。请参阅随附的照片/代码以供参考。我将把这个代码用于tkinter。先谢谢你
class Student():
def __init__ (self):
self.sticker =[]
self.shirt = []
self.shoes = []
def getData(self, m1,m2, m3):
self.sticker.append(m1)
self.shirt.append(m2)
self.shoes.append(m3)
def displayData(self):
return('Total sales are:' + self.average())
def total(self):
return(self.sticker[0]*5, self.shirt[1]*200, self.shoes[2]*1000)
def average (self):
return(self.sticker[0] + self.shirt[1] + self.shoes[2])
m1 = (input('Enter the quantity of sticker sold: '))
m2 = (input('Enter the quantity of shirt sold: '))
m3 = (input('Enter the quantity of the shoes sold: '))
s1 = Student()
s1.getData(m1, m2, m3)
s1.displayData()
错误是:
Traceback (most recent call last):
File "c:\Users\Kenken\Desktop\Kenken - Python\businesshit.py", line 25, in <module>
s1.displayData()
File "c:\Users\Kenken\Desktop\Kenken - Python\businesshit.py", line 14, in displayData
print('Total sales are:' + self.total())
File "c:\Users\Kenken\Desktop\Kenken - Python\businesshit.py", line 16, in total
return(self.sticker[0]*5, self.shirt[1]*200, self.shoes[2]*1000)
IndexError: list index out of range
你应该试试这个代码
代码中有两个错误:
1)您应该使用相同的缩进在一个类中编写所有方法。但是在您的代码中,方法平均值与其他方法不一致
2)您将元素附加到空列表中,使其索引位于位置0。因此,在学生类中的total和average方法中,您需要使用索引0来访问衬衫和鞋子中的元素,如衬衫[0]和鞋子[0]
要打印总值,请使用print(s1.displayData())
相关问题 更多 >
编程相关推荐