__init__() 缺少 3 个必需的位置参数
__init__() missing 3 required positional arguments
我正在尝试为 class 编写代码,但在使用 class 时遇到了很大的麻烦。问题是我们要用 class、Car
编写脚本,将 speed
方法设置为“0”,并显示一系列十次迭代的速度(调用 acceleration
和 brake
各五次)。
我得到的错误是:
Traceback (most recent call last):
File "C:/Users/Brown Bear/Documents/Wake Tech/CIS115/Python Documents/Lab14P1.py", line 36, in <module>
main()
File "C:/Users/Brown Bear/Documents/Wake Tech/CIS115/Python Documents/Lab14P1.py", line 27, in main
my_speed = Car()
TypeError: __init__() missing 3 required positional arguments: 'make', 'model', and 'speed'
这是输出应该是什么的例子:
Enter model of your car: Prius
Enter make of your car: Toyota
Current speed: 5
Current speed: 10
Current speed: 15
Current speed: 20
Current speed: 25
Current speed: 20
Current speed: 15
Current speed: 10
Current speed: 5
Current speed: 0
这是我的代码:
class Car:
def __init__(self, make, model, speed):
self.make = make
self.model = model
self.speed = speed
def accelerate(self):
self.speed += 5
def brake(self):
self.speed -= 5
def get_make(self):
return self.make
def get_model(self):
return self.model
def get_speed(self):
return self.speed
def main():
manuf = input('Enter the car make: ')
mod = input('Enter the car model: ')
my_speed = Car()
for num in range(5):
my_speed.accelerate()
print('Current speed: ', my_speed.get_speed())
for num in range(5):
my_speed.brake()
print('Current speed: ', my_speed.get_speed())
main()
我在这个特定问题上花费了大量时间并尝试了各种方法,我还研究了之前在此处提出的类似问题,但所有问题都太复杂了,我只需要一个简单的解决方案。任何帮助表示赞赏。谢谢!
当您创建 class 的实例时,您没有传递任何参数:
my_speed = Car()
但是你的定义说有 3 个必需的参数:
def __init__(self, make, model, speed):
因此您需要创建一个 Car 实例并传递 3 个参数:品牌、型号和速度。
my_speed = Car(manuf, mod, some_Speed_val)
我正在尝试为 class 编写代码,但在使用 class 时遇到了很大的麻烦。问题是我们要用 class、Car
编写脚本,将 speed
方法设置为“0”,并显示一系列十次迭代的速度(调用 acceleration
和 brake
各五次)。
我得到的错误是:
Traceback (most recent call last): File "C:/Users/Brown Bear/Documents/Wake Tech/CIS115/Python Documents/Lab14P1.py", line 36, in <module> main() File "C:/Users/Brown Bear/Documents/Wake Tech/CIS115/Python Documents/Lab14P1.py", line 27, in main my_speed = Car() TypeError: __init__() missing 3 required positional arguments: 'make', 'model', and 'speed'
这是输出应该是什么的例子:
Enter model of your car: Prius
Enter make of your car: Toyota
Current speed: 5
Current speed: 10
Current speed: 15
Current speed: 20
Current speed: 25
Current speed: 20
Current speed: 15
Current speed: 10
Current speed: 5
Current speed: 0
这是我的代码:
class Car:
def __init__(self, make, model, speed):
self.make = make
self.model = model
self.speed = speed
def accelerate(self):
self.speed += 5
def brake(self):
self.speed -= 5
def get_make(self):
return self.make
def get_model(self):
return self.model
def get_speed(self):
return self.speed
def main():
manuf = input('Enter the car make: ')
mod = input('Enter the car model: ')
my_speed = Car()
for num in range(5):
my_speed.accelerate()
print('Current speed: ', my_speed.get_speed())
for num in range(5):
my_speed.brake()
print('Current speed: ', my_speed.get_speed())
main()
我在这个特定问题上花费了大量时间并尝试了各种方法,我还研究了之前在此处提出的类似问题,但所有问题都太复杂了,我只需要一个简单的解决方案。任何帮助表示赞赏。谢谢!
当您创建 class 的实例时,您没有传递任何参数:
my_speed = Car()
但是你的定义说有 3 个必需的参数:
def __init__(self, make, model, speed):
因此您需要创建一个 Car 实例并传递 3 个参数:品牌、型号和速度。
my_speed = Car(manuf, mod, some_Speed_val)