You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python编写Car类刹车功能异常:brake方法未正确递减速度

解决Car类刹车功能的错误及输出不符合预期问题

核心问题分析

  1. 刹车方法语法错误:brake方法中的self.__speed = -=5是非法赋值语句,实际运行时会直接将__speed设置为-5(而非在原有速度基础上递减5),这是导致所有刹车输出均为-5的直接原因。
  2. 刹车循环执行顺序错误:原代码先调用brake再打印速度,而你预期的是先打印刹车操作前的速度状态,再执行刹车动作。
  3. 加速次数不匹配:原代码加速5次后速度达到25,但你需要刹车前初始速度为20,因此加速次数需调整为4次。
  4. 缺少速度下限限制:未处理速度为0时继续刹车的边界情况,可能导致速度变为负数。

修正后的代码

Car类定义

class Car:
    def __init__(self, __year_model, __make):
        self.__year_model = __year_model
        self.__make = __make
        self.__speed = 0

    def accelerate(self):
        self.__speed += 5

    def brake(self):
        # 修正语法错误,同时确保速度不低于0
        self.__speed = max(self.__speed - 5, 0)

    def get_speed(self):
        return self.__speed

主程序代码

from car import Car
my_car = Car("Corvette", 2022)

# 加速4次,使初始速度达到20
for a in range(4):
    my_car.accelerate()
    print(f"accelerate {a}: {my_car.get_speed()}")

print()

# 先打印当前速度(对应刹车操作的状态标识),再执行刹车
for x in range(5):
    print(f"brake {x}: {my_car.get_speed()}")
    my_car.brake()

修正后的输出

accelerate 0: 5
accelerate 1: 10
accelerate 2: 15
accelerate 3: 20

brake 0: 20
brake 1: 15
brake 2: 10
brake 3: 5
brake 4: 0

内容的提问来源于stack exchange,提问作者user19293076

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 16:54:52