-
建立一個汽車類Auto昙楚,包括輪胎個數(shù),汽車顏色诈嘿,車身重量堪旧,速度等屬性,并通過不同的構(gòu)造方法創(chuàng)建實例奖亚。至少要求 汽車能夠加速 減速 停車淳梦。 再定義一個小汽車類CarAuto 繼承Auto 并添加空調(diào)、CD屬性昔字,并且重新實現(xiàn)方法覆蓋加速爆袍、減速的方法
class Auto: def __init__(self, number, colour, weight): if 2 < isinstance(number, int): self.number = number self.colour = colour self.weight = weight self._speed = 0 @property def speed(self): return self._speed @speed.setter def speed(self, valeu): if valeu < self._speed: print('減速') elif valeu > self._speed: print('加速') elif valeu == self._speed: print('速度不變') elif valeu == 0: print('停車') self._speed = valeu class CarAuto(Auto): def __init__(self, number, colour, weight, air_condition, cd): super().__init__(number, colour, weight) self.air_condition = air_condition self.cd = cd @property def speed(self): return self._speed @speed.setter def speed(self, valeu): if valeu < self._speed: print('小汽車減速') elif valeu > self._speed: print('小汽車加速') elif valeu == self._speed: print('小汽車速度不變') elif valeu == 0: print('小汽車停車') self._speed = valeu p1 = CarAuto(4, '黃色', 500, '空調(diào)', '最炫名族風(fēng)') print(p1.speed) p1.speed = 60 print(p1.speed)
-
創(chuàng)建一個Person類,添加一個類字段用來統(tǒng)計Person類的對象的個數(shù)
class Person: num = 6100000000 nums = 0 def __init__(self, name, sex='男', skin_color='黃皮膚', language='chinese', state='cn', age=0): self.name = name self.age = age self.sex = sex self.skin_color = skin_color self.language = language self.state = state Person.nums += 1 @classmethod def number(cls): print(cls.nums) p1 = Person('xiaoming') p2 = Person('xiaohong') p3 = Person('xiaoxiao') p4 = Person('xiaoxia') Person.number()
-
創(chuàng)建一個動物類作郭,擁有屬性:性別陨囊、年齡、顏色夹攒、類型 蜘醋,
要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/' 的形式來打印
class Animal:
def __init__(self, sex, age, colour, genre):
self.sex = sex
self.age = age
self.colour = colour
self.genre = genre
def show(self):
return '/Animal的對象:性別-%s 年齡-%s 顏色-%s 類型-%s/' % (self.sex, self.age, self.colour, self.genre)
a1 = Animal('雄性', 2, '黑色', '哈士奇')
print(a1.show())
-
寫一個圓類, 擁有屬性半徑咏尝、面積和周長压语;要求獲取面積和周長的時候的時候可以根據(jù)半徑的值把對應(yīng)的值取到。但是給面積和周長賦值的時候编检,程序直接崩潰胎食,并且提示改屬性不能賦值
from math import pi class FzError(Exception): def __str__(self): return '改屬性不能賦值' class Roundness: def __init__(self, radius): if isinstance(radius, int) or isinstance(radius, float): if radius > 0: self.radius = radius self._perimeter = 0 self._area = 0 @property def perimeter(self): print('半徑是:', self.radius) return '周長為:%s' % (2*pi*self.radius) @perimeter.setter def perimeter(self, vale): raise FzError @property def area(self): print('半徑是:', self.radius) return '面積為:%s' % (pi * self.radius ** 2) @area.setter def area(self, vale): raise FzError r1 = Roundness(6) print(r1.area) print(r1.perimeter) # r1.area = 1 # __main__.FzError: 改屬性不能賦值
-
寫一個撲克類, 要求擁有發(fā)牌和洗牌的功能(具體的屬性和其他功能自己根據(jù)實際情況發(fā)揮)
import random class Poker: def __init__(self): self.pokers = [] self.nums = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'] self.colors = ['?', '?', '?', '?'] def poker(self): for num in self.nums: for color in self.colors: self.pokers.append('%s%s' % (color, num)) self.pokers.extend(['小王', '大王']) # print(self.pokers) def riffle(self): random.shuffle(self.pokers) def deal(self, n): a = [] for x in self.pokers[0:n]: a.append(x) self.pokers.remove(x) print(a) p1 = Poker() p1.poker() # print(p1.pokers) p1.riffle() print(p1.pokers) p1.deal(17) # 發(fā)n張牌 p1.deal(17) p1.deal(17) print(p1.pokers) # 剩下的牌
?
(嘗試)寫一個類允懂,其功能是:1.解析指定的歌詞文件的內(nèi)容 2.按時間顯示歌詞 提示:歌詞文件的內(nèi)容一般是按下面的格式進行存儲的厕怜。歌詞前面對應(yīng)的是時間,在對應(yīng)的時間點可以顯示對應(yīng)的歌詞
[00:00.20]藍蓮花
[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]如此的清澈高遠
[02:42.32][00:52.72]盛開著永不凋零
[02:47.83][00:57.47]藍蓮花
class Time_song:
def __init__(self, time=0):
self._time1 = time
def show(self):
with open('lyric', 'r', encoding='utf-8') as f:
lyric1 = f.read()
lyric2 = ''
for i in lyric1[:]:
if '\u4e00' <= i <= '\u9fa5' or i == '\u000A':
lyric2 += i
print(lyric2)
t1 = Time_song()
t1.show()
?