首页 > 解决方案 > 试图通过一个错误“缺少 1 个必需的位置参数”使函数减去定义的数字

问题描述

我只是在学习 python,经过一个月的没有练习,我无法弄清楚这一点。如何将“订单”增加 -1 而不会导致错误。类型错误:increment_one() 缺少 1 个必需的位置参数:'one'

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()

标签: python

解决方案


您的代码定义increment_one如下:

def increment_one(self,one):
    one=number-1

并将其称为如下:

mcdz.increment_one()

错误消息是因为您自己的方法定义调用了调用代码未提供的参数。这样做:

def increment_one(self):
    self.number -= 1

decrement(尽管我不会称该方法为increment)。


推荐阅读