烤地瓜
规则:
1.地瓜有自己的状态,默认是生的,地瓜可以进行烧烤
2.地瓜有自己烧烤的总时间,由每次烧烤的时间累加得出
3.地瓜烧烤时,需要提供本次烧烤时间
4.地瓜状态随着烧烤时间变化而变化:[0,3)生的,[3,6)半生不熟,[6,8)熟了,>=8糊了
5.输出时显示地瓜的烧烤时间和地瓜状态
# 定义类烧烤类
class Potato():
# 定义初始值
def __init__(self):
# 初始地瓜状态
self.status = '生的'
# 初始烧烤时间
self.total_time = 0
# 定义烧烤
def cook(self,time):
# 该该烧烤时间
self.total_time+=time
# 通过烧烤时间判断地瓜状态
# 如果时间小于3,地瓜状态为生了
if self.total_time < 3:
self.status = '生的'
# 如果时间小于6且大于3,地瓜状态半生不熟
elif 3<=self.total_time < 6:
self.status = '半生不熟'
# 如果时间小于8且大于6,地瓜状态熟了
elif 6<=self.total_time < 8:
self.status = '熟了'
# 如果时间大于8,地瓜状态糊了
else:
self.status = '糊了'
# 输出结果
def __str__(self):
return f"地瓜烤了{self.total_time}分钟,地瓜{self.status}"
# 调用函数
potato = Potato()
# 设置烧烤时间
potato.cook(10)
print(potato)
# 结果:地瓜烤了10分钟,地瓜糊了
补充:添加调料
# 定义类烧烤类
class Potato():
# 定义初始值
def __init__(self):
# 初始地瓜状态
self.status = '生的'
# 初始烧烤时间
self.total_time = 0
# 定义调料空列表
self.name_list = []
# 定义烧烤
def cook(self, time):
# 该该烧烤时间
self.total_time += time
# 通过烧烤时间判断地瓜状态
# 如果时间小于3,地瓜状态为生了
if self.total_time < 3:
self.status = '生的'
# 如果时间小于6且大于3,地瓜状态半生不熟
elif 3 <= self.total_time < 6:
self.status = '半生不熟'
# 如果时间小于8且大于6,地瓜状态熟了
elif 6 <= self.total_time < 8:
self.status = '熟了'
# 如果时间大于8,地瓜状态糊了
else:
self.status = '糊了'
# 定义添加调料函数
def __str__(self):
# 将字符串添加到列表中,组成新的列表
buf = ','.join(self.name_list)
# 判断列表中是否含有调料
if self.name_list:
return f"地瓜的状态{self.status},烧烤总时间为{self.total_time},添加调料有{buf}"
else:
return f"地瓜的状态{self.status},烧烤总时间为{self.total_time},还未添加调料"
# 定义函数,将添加的调料放入列表中
def add(self, name):
self.name_list.append(name)
# 输出结果
def __str__(self):
return f"地瓜烤了{self.total_time}分钟,地瓜{self.status}"
# 调用函数
potato = Potato()
# 设置烧烤时间
potato.cook(10)
# 添加调料
potato.add("辣椒")
print(potato)
# 结果:地瓜的状态糊了,烧烤总时间为10,添加调料有辣椒
存放家具
规则:
1.家具有不同种类,且占地面积不同
2.输出家具信息时,显示家具的类型和家具占用面积不同
3.房子有自己地址和面积
4.房子可以添加家具,如果剩余空间够,显示添加成功,否则添加失败
5.输出房子信息时,显示房子的地址、占地面积、剩余面积
# 由要求可知,需定义两个类(房子、家具)
# 定义家具类
class Furniture(object):
# 定义初始值
def __init__(self,name,area):
# 家具类型
self.name = name
# 房间面积
self.area = area
def __str__(self):
return f"家具的类型是{self.name},占地面积{self.area}"
# 定义房子类
class House(object):
def __init__(self,addreess,area):
# 定义地址
self.address = address
# 定义房子面积
self.h_area = area
# 定义空列表,储存家具
self.furniture_list = []
# 房子的剩余面积
self.free_area = area
# 定义添加家具
def add_furniture(self, obj_furniture):
"""添加家具 obj_furniture: 家具类的对象 """
# 判断房子面积是否足够存放家具
if self.free_area > obj_furniture.area:
self.furniture_list.append(obj_furniture)
# 修改剩余面积
self.free_area -= obj_furniture.area
print(f'家具{obj_furniture.name}添加成功')
else:
print("添加失败")
# 设定输出值
def __str__(self):
return f'房子的地址为{self.address},占地面积为{self.h_area},剩余面积为{self.free_area}'
# 调用函数,输入家具和面积
bed = Furniture('双人床', 15)
print(bed) # 家具的类型是双人床,占地面积15
table = Furniture('大衣柜', 25)
print(table) # 家具的类型是三人床,占地面积25
# 创建一个房子类对象
house = House('广场', 1000)
# 输出添加
house.add_furniture(bed) # 家具双人床添加成功
house.add_furniture(bed2) # 家具三人床添加成功
print(house)