鱼C论坛

 找回密码
 立即注册
查看: 629|回复: 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__那行开始,缩进都多了一级。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-24 14:54:20 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
目测从if __name__那行开始,缩进都多了一级。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 14:56:06 | 显示全部楼层
    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()
这一段多了一个缩进
应该是这样的:
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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

太感谢了,我是新手,复制了一段代码还运行不过,今天被打击惨了。谢谢您帮我解决该问题,真的是缩进的问题,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢,确实是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

没关系的,刚学的时候犯这种错误很正常
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 20:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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