-
建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。 再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD属性,并且重新实现方法覆盖加速、减速的方法
class Auto: def __init__(self , tyre=4, color='', weight=0, speed=0): self.tyre = tyre self.color =color self.weight = weight self.speed = speed def up_speed(self): self.speed += 1 print('Auto加速') def down_speed(self): if self.speed > 0: self.speed -= 1 print('Auto减速') def stop_car(self): self.speed = 0 print('Auto停止了') class CarAuto(Auto): def __init__(self, air_conditioner='制热', cd=''): super().__init__() self.air_conditioner = air_conditioner self.cd = cd def up_speed(self): self.speed += 1 print('CarAuto加速') def down_speed(self): self.speed -= 1 print('CarAuto减速') a1 = Auto('黑色', 900, 80) c1 = CarAuto(cd='ii') c1.down_speed() # CarAuto减速
-
创建一个Person类,添加一个类字段用来统计Perosn类的创建过的对象的个数
class Person: count = 0 def __init__(self): Person.count += 1 p1 = Person() p2 = Person() print(Person.count)
-
创建一个动物类,拥有属性:性别、年龄、颜色、类型 ,
要求打印这个类的对象的时候以’/XXX的对象: 性别-? 年龄-? 颜色-? 类型-?/’ 的形式来打印
class Dog: def __init__(self, gender , age , color ,dog_type): self.gender = gender self.age = age self.color = color self.dog_type = dog_type def d(self): print('Dog的对象:', f'性别-{self.gender}',f'年龄-{self.age}', f'颜色-{self.color}', f'类型-{self.dog_type}' ) dog= Dog('公', 4, '红色', '土狗') dog.d() # Dog的对象: 性别-公 年龄-4 颜色-红色 类型-土狗
-
(不写)写一个圆类, 拥有属性半径、面积和周长;要求获取面积和周长的时候的时候可以根据半径的值把对应的值取到。但是给面积和周长赋值的时候,程序直接崩溃,并且提示改属性不能赋值
-
写一个扑克类, 要求拥有发牌和洗牌的功能(具体的属性和其他功能自己根据实际情况发挥)
from random import shuffle
class Poker:
colors = [‘♥’, ‘♠’, ‘♣’, ‘♦’]
numbers = [‘A’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’, ‘J’, ‘Q’, ‘K’, ‘joker’, ‘JOKER’]
table1 = {‘J’: 11, ‘Q’: 12, ‘K’: 13, ‘A’: 14, ‘2’: 15, ‘joker’: 16, ‘JOKER’: 17}def __init__(self, color, number): self.color = color self.number = number def __repr__(self): return f'{self.color}{self.number}' def __get_poker_value(self): number = self.number if '3' <= number <= '9' or number == '10': return int(number) return Poker.table1[number] def __lt__(self, other): return self.__get_poker_value() < other.__get_poker_value()
class PokerGame:
def init(self):
# 一副牌
self.pokers = []
for n in Poker.numbers[:-2]:
for c in Poker.colors:
p = Poker(c, n)
self.pokers.append§
self.pokers.extend([Poker(’’, Poker.numbers[-2]), Poker(’’, Poker.numbers[-1])])
print(self.pokers)def shuffle(self): """洗牌""" # 需要一副牌,然后把牌的顺序打乱 shuffle(self.pokers) print(self.pokers) def deal(self): """发牌""" self.shuffle() p1 = [] p2 = [] p3 = [] for _ in range(17): p1.append(self.pokers.pop(0)) p2.append(self.pokers.pop(0)) p3.append(self.pokers.pop(0)) return sorted(p1, reverse=True), sorted(p2, reverse=True), sorted(p3, reverse=True), self.pokers
game1 = PokerGame()
print(game1.deal()) -
(尝试)写一个类,其功能是: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]才发觉脚下的路 [02:32.17][00:42.69]心中那自由地世界 [02:37.20][00:47.58]如此的清澈高远 [02:42.32][00:52.72]盛开着永不凋零 [02:47.83][00:57.47]蓝莲花
2021.2.25 day18作业(1)
最新推荐文章于 2022-08-14 09:47:12 发布