- 建立一個汽車類Auto,包括輪胎個數(shù)白对,汽車顏色,車身重量换怖,速度等屬性甩恼,并通過不同的構(gòu)造方法創(chuàng)建實(shí)例。至少要求 汽車能夠加速 減速 停車沉颂。 再定義一個小汽車類CarAuto 繼承Auto 并添加空調(diào)条摸、CD屬性,并且重新實(shí)現(xiàn)方法覆蓋加速铸屉、減速的方法
def __init__(self, color, weight, speed, tire=4):
self.tire = tire
self.color = color
self.weight = weight
self._speed = speed
@property
def speed(self):
return self._speed
@speed.setter
def speed(self, value):
if not isinstance(value, int):
raise ValueError
elif value < self._speed:
self._speed = value
print("減速")
elif value > self._speed:
self._speed = value
print("加速")
elif self._speed == 0:
self._speed = value
print("停車")
elif self._speed == value:
print("保持當(dāng)前車速")
class CarAuto(Auto):
def __init__(self, cd, conditioning, color, weight, speed):
super().__init__(color, weight, speed)
self.cd = cd
self.conditioning = conditioning
@property
def speed(self):
return self._speed
@speed.setter
def speed(self, value):
if not isinstance(value, int):
raise ValueError
elif value < self._speed:
self._speed = value
print("減速")
elif value > self._speed:
self._speed = value
print("加速")
elif self._speed == 0:
self._speed = value
print("停車")
elif self._speed == value:
print("保持當(dāng)前車速")
def cd(self):
print("正在播放%s" % self.cd)
def conditioning(self):
print("當(dāng)前空調(diào)溫度%s" % self.conditioning)
- 創(chuàng)建一個Person類钉蒲,添加一個類字段用來統(tǒng)計Perosn類的對象的個數(shù)
class Person:
num = 0
def __init__(self, name):
Person.num += 1
self.name = name
p1 = Person("田宇")
p2 = Person("劉茂飛")
print(Person.num)
- 創(chuàng)建一個動物類,擁有屬性:性別彻坛、年齡顷啼、顏色帆赢、類型 ,
要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
class Animal:
def __init__(self, age, color, breed, name):
self._gender = 1
self.age = age
self.color = color
self.breed = breed
self.name = name
@property
def gender(self):
if self._gender == 1:
return '雌'
return '雄'
@gender.setter
def gender(self, value):
if value == "雌":
self._gender = 1
elif value == "雄":
self._gender = 0
def attributes(self):
return "%s的對象:性別-%s,年齡-%s,顏色-%s,類型-%s" % (self.name, self.gender, self.age, self.color, self.breed)
p1 = Animal(3, "black", "金毛", "辛巴達(dá)")
p1.gender = "雄"
print(p1.attributes())
4. 寫一個圓類线梗, 擁有屬性半徑椰于、面積和周長;要求獲取面積和周長的時候的時候可以根據(jù)半徑的值把對應(yīng)的值取到仪搔。但是給面積和周長賦值的時候瘾婿,程序直接崩潰,并且提示改屬性不能賦值
```python
from math import *
class WriteError(Exception):
def __str__(self):
return "屬性不能賦值"
class Circle:
def __init__(self, r):
self.r = r
self._area = pi * r ** 2
self._perimeter = 2 * pi * r
@property
def area(self):
return self._area
@area.setter
def area(self, value):
raise WriteError
p1 = Circle(5)
p1.area = 111
- 寫一個撲克類烤咧, 要求擁有發(fā)牌和洗牌的功能(具體的屬性和其他功能自己根據(jù)實(shí)際情況發(fā)揮)
- (嘗試)寫一個類偏陪,其功能是:1.解析指定的歌詞文件的內(nèi)容 2.按時間顯示歌詞 提示:歌詞文件的內(nèi)容一般是按下面的格式進(jìn)行存儲的。歌詞前面對應(yīng)的是時間煮嫌,在對應(yīng)的時間點(diǎn)可以顯示對應(yīng)的歌詞
[00:00.20]藍(lán)蓮花
[00:00.80]沒有什么能夠阻擋
[00:06.53]你對自由地向往
[00:11.59]天馬行空的生涯
[00:16.53]你的心了無牽掛
[02:11.27][01:50.22][00:21.95]穿過幽暗地歲月
[02:16.51][01:55.46][00:26.83]也曾感到彷徨
[02:21.81][02:00.60][00:32.30]當(dāng)你低頭地瞬間
[02:26.79][02:05.72][00:37.16]才發(fā)覺腳下的路
[02:32.17][00:42.69]心中那自由地世界
[02:37.20][00:47.58]如此的清澈高遠(yuǎn)
[02:42.32][00:52.72]盛開著永不凋零
[02:47.83][00:57.47]藍(lán)蓮花