鱼C论坛

 找回密码
 立即注册
查看: 837|回复: 6

[已解决]报错类未定义的问题

[复制链接]
发表于 2020-4-24 14:52:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天学习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:
            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))
            elif action == 'S':
                print("The car's average speed was {} kph".format(my_car.average_speed()))
            my_car.step()
            my_car.say_state()
最佳答案
2020-4-24 14:54:20
目测从if __name__那行开始,缩进都多了一级。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-24 14:54:20 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
目测从if __name__那行开始,缩进都多了一级。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 14:56:06 | 显示全部楼层
  1.     if __name__ == '__main__':
  2.         my_car = Car()
  3.         print("I'm a car!")
  4.         while True:
  5.             action = input("what should I do?[A]ccelerate,[B]rake,"
  6.                            "show[O]dometer,or show average[S]peed?").upper()
  7.             if action not in "ABOS" or len(action)!=1:
  8.                 print("I don't know how to do that")
  9.                 continue
  10.             if action == 'A':
  11.                 my_car.accelerate()
  12.             elif action == 'B':
  13.                 my_car.brake()
  14.             elif action == 'O':
  15.                 print("The car has driven {} kilometers".format(my_car.odometer))
  16.             elif action == 'S':
  17.                 print("The car's average speed was {} kph".format(my_car.average_speed()))
  18.             my_car.step()
  19.             my_car.say_state()
复制代码

这一段多了一个缩进
应该是这样的:
  1. if __name__ == '__main__':
  2.     my_car = Car()
  3.     print("I'm a car!")
  4.     while True:
  5.         action = input("what should I do?[A]ccelerate,[B]rake,"
  6.                        "show[O]dometer,or show average[S]peed?").upper()
  7.         if action not in "ABOS" or len(action)!=1:
  8.             print("I don't know how to do that")
  9.             continue
  10.         if action == 'A':
  11.             my_car.accelerate()
  12.         elif action == 'B':
  13.             my_car.brake()
  14.         elif action == 'O':
  15.             print("The car has driven {} kilometers".format(my_car.odometer))
  16.         elif action == 'S':
  17.             print("The car's average speed was {} kph".format(my_car.average_speed()))
  18.         my_car.step()
  19.         my_car.say_state()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 14:56:42 | 显示全部楼层
太感谢了,我是新手,复制了一段代码还运行不过,今天被打击惨了。谢谢您帮我解决该问题,真的是缩进的问题,谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 14:57:30 | 显示全部楼层
hrp 发表于 2020-4-24 14:54
目测从if __name__那行开始,缩进都多了一级。

太感谢了,我是新手,复制了一段代码还运行不过,今天被打击惨了。谢谢您帮我解决该问题,真的是缩进的问题,谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 14:58:20 | 显示全部楼层
wuqramy 发表于 2020-4-24 14:56
这一段多了一个缩进
应该是这样的:

谢谢,确实是
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 14:59:55 From FishC Mobile | 显示全部楼层
应乘云 发表于 2020-4-24 14:57
太感谢了,我是新手,复制了一段代码还运行不过,今天被打击惨了。谢谢您帮我解决该问题,真的是缩进的问 ...

没关系的,刚学的时候犯这种错误很正常
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-17 23:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表