import math
1.建立一個汽車類Auto,包括輪胎個數懈糯,汽車顏色涤妒,車身重量,速度等屬性赚哗,并通過不同的構造方法創(chuàng)建實例她紫。
至少要求汽車能夠加速 減速 停車硅堆。 再定義一個小汽車類CarAuto繼承Auto并添加空調、CD屬性贿讹,并且重新實現方法覆蓋加速渐逃、減速的方法
class Auto:
"""汽車類"""
def __init__(self, tires=2, color='白色', weight=3, speed=50):
self.tires = tires
self.color = color
self.weight = weight
self.speed = speed
def speed_up(self):
print('汽車正在加速')
def speed_down(self):
print('汽車正在減速')
def speed_stop(self):
print('汽車停止')
class CarAuto(Auto):
"""小汽車類"""
def __init__(self, air_conditioning=True, CD=True):
super().__init__()
self.air_conditioning = air_conditioning
self.CD = CD
def speed_up(self):
print('小汽車正在加速')
def speed_down(self):
print('小汽車正在減速')
auto1 = Auto()
auto1.speed_up()
auto1.speed_down()
car_auto = CarAuto()
car_auto.speed_up()
car_auto.speed_down()
2.創(chuàng)建一個Person類,添加一個類字段用來統計Person類的對象的個數
class Person():
count = 0
def __init__(self):
Person.count += 1
p1 = Person()
print(Person.count)
p2 = Person()
print(Person.count)
p3 = Person()
print(Person.count)
3.創(chuàng)建一個動物類民褂,擁有屬性:性別茄菊、年齡、顏色赊堪、類型 面殖,要求打印這個類的對象的時候以'/XXX的對象: 性別-? 年齡-? 顏色-? 類型-?/'的形式來打印
class Animal:
"""動物類"""
def __init__(self, gender, age, color, type):
self.gender = gender
self.age = age
self.color = color
self.type = type
def show(self):
print('/%s的對象: 性別-%s 年齡-%s 顏色-%s 類型-%s/' % (self.__class__.__name__, self.gender, self.age, self.color, self.type))
animal = Animal('公', 3, '棕色', '哺乳動物')
animal.show()
4.寫一個圓類, 擁有屬性半徑哭廉、面積和周長脊僚;要求獲取面積和周長的時候的時候可以根據半徑的值把對應的值取到。
但是給面積和周長賦值的時候遵绰,程序直接崩潰辽幌,并且提示改屬性不能賦值
class WriteError(Exception):
def __str__(self):
return '屬性不能賦值!'
class Circle:
"""圓類"""
def __init__(self, radius):
self._radius = radius
self._perimeter = 2*math.pi*radius
self._area = math.pi*radius**2
@property
def radius(self):
return self._radius
@radius.setter
def radius(self, value):
self._radius = value
self._perimeter = 2 * math.pi * self.radius
self._area = math.pi * self.radius ** 2
@property
def perimeter(self):
return self._perimeter
@perimeter.setter
def perimeter(self, value):
raise WriteError
@property
def area(self):
return self._area
@area.setter
def area(self, value):
raise WriteError
circle = Circle(5)
print(circle.perimeter, circle.area)
circle.radius = 6
print(circle.perimeter, circle.area)
# circle.perimeter = 28
5.(嘗試)寫一個類椿访,其功能是:
1.解析指定的歌詞文件的內容
2.按時間顯示歌詞
提示:歌詞文件的內容一般是按下面的格式進行存儲的乌企。
歌詞前面對應的是時間,在對應的時間點可以顯示對應的歌詞
[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]當你低頭地瞬間
[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 Resolution:
@staticmethod
def read_text(file):
with open(file, 'r', encoding='utf-8') as f:
return f.readlines()
content = Resolution.read_text('music.txt')
print(content[0])