我只是在学习python,经过一个月的没有练习,我无法弄清楚这一点。如何在不导致错误的情况下将"订单"递增 -1。类型错误:increment_one() 缺少 1 个必需的位置参数:"一"
class Restaurant():
def __init__(self, restaurant_name, cuisine_type):
self.restaurant_name=restaurant_name
self.cuisine_type=cuisine_type
self.number_serv=0
def desc_restaurant(self):
print("The restaurant name is:"+self.restaurant_name+" The
restaurant type is:"+self.cuisine_type)
def open_restaurant(self):
print(self.restaurant_name+"is now open")
def number_served(self):
"""Print a statement showing the car's mileage."""
print("Number of orders to serve: " + str(self.number_serv))
def increment_serv(self,number):
self.number_serv=number
def increment_one(self,one):
one=number-1
mcdz = Restaurant('Mcdonald', 'Burger')
mcdz.desc_restaurant()
mcdz.open_restaurant()
mcdz.increment_serv(34)
mcdz.number_served()
mcdz.increment_one()
您的代码定义increment_one
如下:
def increment_one(self,one):
one=number-1
并按如下方式调用它:
mcdz.increment_one()
错误消息是因为您自己的方法定义调用了调用代码未提供的参数。这样做:
def increment_one(self):
self.number -= 1
(尽管我会称该方法decrement
而不是increment
)。
您的increment_one
函数有两个参数,self
和 one
。你只是在传递self
。更改此行:
mcdz.increment_one()
在括号内传递附加值,或更改此行:
def increment_one(self,one):
对此:
def increment_one(self):
如果您不想传递任何参数。
此外,在 increment_one
中,您没有定义 number
变量。您必须定义它才能使其正常工作。