[英]TypeError: 'int' object is not callable Python-3
我收到TypeError: 'int' object is not callable with (my_car.time())
運行我的課程后,我輸入了“O”,但它無法讀取時間()。
該程序:
class Car:
def __init__(self,speed = 0):
self.speed = speed
self.odometer = 0
self.time = 0
def say_state(self):
print("I'm going {} kph!".format(self.speed))
def accelerate(self):
self.speed += 5
def brake(self):
self.speed -= 5
def step(self):
self.odometer += self.speed
self.time += 1
def average_speed(self):
if self.time != 0:
return self.odometer / self.time
else:
pass
if __name__ == '__main__':
my_car = Car()
print("I'm a car!")
while True:
action = input("What should I do? [A]ccelerate, [B]rake, "
"show [O]dometer, or show average [S]peed?").upper()
if action not in "ABOS" or len(action) != 1:
print("I don't know how to do that")
continue
if action == 'A':
my_car.accelerate()
elif action == 'B':
my_car.brake()
elif action == 'O':
print("The car has driven {} kilometers".format(my_car.odometer))
print("The time taken is".format(my_car.time()))
elif action == 'S':
print("The car's average speed was {} kph".format(my_car.average_speed()))
my_car.step()
my_car.say_state()
輸出:
I'm a car!
What should I do? [A]ccelerate, [B]rake, show [O]dometer, or show average [S]peed?a
I'm going 5 kph!
What should I do? [A]ccelerate, [B]rake, show [O]dometer, or show average [S]peed?a
I'm going 10 kph!
What should I do? [A]ccelerate, [B]rake, show [O]dometer, or show average [S]peed?o
The car has driven 15 kilometers
Traceback (most recent call last):
File "D:/PyCharm/New Folder/venv/Car.py", line 42, in <module>
print("The time taken is".format(my_car.time()))
TypeError: 'int' object is not callable
Process finished with exit code 1
程序中的time
是一個變量,而不是class
method
,因此您無法調用它,請將第 42 行更改為
print("The time taken is {} h".format(my_car.time))
,它應該修復錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.