这里是我的代码:购物车。错误
print ("Welcome to our Shop")
class Item:
def __init__(self, name, price):
self.name = name
self.price = price
def getName(self): #Returning name of Item.
return self.name
def getPrice(self): #Returning price of Item.
return self.price
class Cart:
def __init__(self, list):
self.list = [] #List is Cart, you will store items in it.
def addItem(self, item):
self.item = list.append(self.list) #Adding item to Cart(List).
def getTotal(self): #Total price. Your bill.
total = 0
for item in self.list:
total += price
return total
def numItems(self): #Number of items in your cart.
items = 0
for item in self.list:
items += item
def kart():
item1 = Item("Xbox", 350)
item2 = Item("Controller", 50) #Items to buy.
item3 = Item("LED TV 55", 550)
k = Cart() #Calling Cart Class.
k.addItem(item1)
k.addItem(item2) #Adding Items.
k.addItem(item3)
print ("You have %i items in your cart for a total of %s $" %(k.numItems(), k.getTotal()))
korpa = kart()
我在最后得到错误。它说
Welcome to our ShoTraceback (most recent call last):
File "C:\Users\Marko\Documents\Projects\EbayCart.py", line 41, in <module>
p
korpa = kart()
File "C:\Users\Marko\Documents\Projects\EbayCart.py", line 35, in kart
k = Cart() #Calling Cart Class.
TypeError: __init__() takes exactly 2 arguments (1 given)
[Finished in 0.1s with exit code 1]
我读
__init__() takes exactly 2 arguments (1 given)
职位,但它并没有在我的情况有所帮助。 你有什么想法是什么问题? 我现在正在学习Classes,这就是这段代码的目的。 感谢您的帮助。
看看你的'Cart .__ init__'。需要多少参数?二。你提供了多少个?只有一个(隐含的“自我”)。另外,'self.item = list.append(self.list)'看起来很奇怪,会导致另一个错误。更多的是,缩进在'Cart.getTotal'中关闭。最后,'Cart.numItems'返回'None',这不是你想要的。 – ForceBru
即你需要指定'list'。 – patrick