|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
研究半天不太明白,求大哥们解惑
类里面添加属性默认值self.odometer_reading = 0
然后添加了undate_odometer方法,设定了一个条件
当update_odometer的参数mileage大于默认值时,则self.odometer_reading = mileage
当update_odometer的参数mileage小于默认值时,则打印print语句提示
但是实例中用update_odometer给参数为负数,运行后也会输出负数的值。
怎样才可能让条件能够正常判断?
- 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):
- """返回整洁的描述性信息"""
- print(f'品牌:{self.make.title()}\n型号:{self.model.title()}\n上市时间:{self.year}')
- def update_odometer(self,mileage):
- """"
- 将里程表读数设置为指定的值
- 禁止将里程表读数回调
- """
- self.odometer_reading = mileage
- if mileage >= self.odometer_reading:
- self.odometer_reading = mileage
- else:
- print('禁止回调里程数!!')
- def read_odometer(self):
- print(f"里程数:{self.odometer_reading} Km")
-
- my_new_car = Car('audi','a4','2016')
- my_new_car.get_descriptive_name()
- my_new_car.update_odometer(-10)
- my_new_car.read_odometer()
复制代码
本帖最后由 isdkz 于 2022-4-2 09:05 编辑
- 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):
- """返回整洁的描述性信息"""
- print(f'品牌:{self.make.title()}\n型号:{self.model.title()}\n上市时间:{self.year}')
- def update_odometer(self,mileage):
- """"
- 将里程表读数设置为指定的值
- 禁止将里程表读数回调
- """
- # self.odometer_reading = mileage 这一句在 if 外面,无论如何也会执行,所以不要这句就可以了
- if mileage >= self.odometer_reading:
- self.odometer_reading = mileage
- else:
- print('禁止回调里程数!!')
- def read_odometer(self):
- print(f"里程数:{self.odometer_reading} Km")
-
- my_new_car = Car('audi','a4','2016')
- my_new_car.get_descriptive_name()
- my_new_car.update_odometer(-10)
- my_new_car.read_odometer()
复制代码
|
|