报错类未定义的问题
今天学习pycharm,在官网中有如下一段程序,但是我运行的时候报错,报的错是name 'Car' is not defined,意思应该是Car没有定义,可是我明显定义了类的啊,到底是怎么回事?求帮助!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:
returnself.odometer/self.time
else:
pass
if __name__ == '__main__':
my_car = Car()
print("I'm a car!")
while True:
action = input("what should I do?ccelerate,rake,"
"showdometer,or show averagepeed?").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))
elif action == 'S':
print("The car's average speed was {} kph".format(my_car.average_speed()))
my_car.step()
my_car.say_state()
目测从if __name__那行开始,缩进都多了一级。 if __name__ == '__main__':
my_car = Car()
print("I'm a car!")
while True:
action = input("what should I do?ccelerate,rake,"
"showdometer,or show averagepeed?").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))
elif action == 'S':
print("The car's average speed was {} kph".format(my_car.average_speed()))
my_car.step()
my_car.say_state()
这一段多了一个缩进
应该是这样的:
if __name__ == '__main__':
my_car = Car()
print("I'm a car!")
while True:
action = input("what should I do?ccelerate,rake,"
"showdometer,or show averagepeed?").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))
elif action == 'S':
print("The car's average speed was {} kph".format(my_car.average_speed()))
my_car.step()
my_car.say_state()
太感谢了,我是新手,复制了一段代码还运行不过,今天被打击惨了。谢谢您帮我解决该问题,真的是缩进的问题,谢谢! hrp 发表于 2020-4-24 14:54
目测从if __name__那行开始,缩进都多了一级。
太感谢了,我是新手,复制了一段代码还运行不过,今天被打击惨了。谢谢您帮我解决该问题,真的是缩进的问题,谢谢! wuqramy 发表于 2020-4-24 14:56
这一段多了一个缩进
应该是这样的:
谢谢,确实是 应乘云 发表于 2020-4-24 14:57
太感谢了,我是新手,复制了一段代码还运行不过,今天被打击惨了。谢谢您帮我解决该问题,真的是缩进的问 ...
没关系的,刚学的时候犯这种错误很正常
页:
[1]