qq_48722761 2021-01-29 22:13 采纳率: 100%
浏览 158
已采纳

请问这行代码无法运行的原因是什么?和python版本有关吗?

代码如下 :
#一次模拟汽车的简单尝试###
class Car():
   def __init__(self,make,model,year):
      self.make=make
      self.model=model
      self.year=year
      self.odometer_reading=0
   def get_descriptive_name(self):
      long_name=str(self.year)+' '+self.make+' '+self.model
      return long_name.title()
   def read_odometer(self):
      print("This car has "+str(self.odometer_reading)+" miles on it.")
   def update_odometer(self,mileage):
      if mileage>=self.odometer_reading:
         self.odometer_reading=mileage
      else:
         print("You can't roll back an odometer!")
      def increment_odometer(self,miles):
         self.odometer_reading+=miles
class Battery():
   def __init__(self,battery_size=70):
      self.battery_size=battery_size
   def describe_battery(self):
      print("This car has a "+str(self.battery_size)+"-kWh battery.")
class Electriccar(Car):
   def __init__(self,make,model,year):
      super().__init__(make,model,year)
      self.battery_size=Battery()
my_tesla=Electriccar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()

python版本:3.9

运行结果:

Traceback (most recent call last):
  File "C:\Users\老大\Desktop\python\electric_car_1.py", line 31, in <module>
    my_tesla.battery.describe_battery()
AttributeError: 'Electriccar' object has no attribute 'battery'

  • 写回答

3条回答 默认 最新

  • Levi_wlx 2021-01-29 23:53
    关注

    问题这不是很明确嘛,就是 'Electriccar'没有 'battery'这个属性。所以,你把 battery_size写错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘