python入门10——综合练习题(面向对象、函数)

本文通过三个实例展示了Python面向对象编程的应用,包括人物体重管理、房屋面积及家具安置、士兵开炮模拟。同时,还复习了函数的运用,如名片管理系统和寻找特定范围内3和7的公倍数。这些例子深入浅出地解释了类和对象的概念,以及函数在实际问题中的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、面向对象相关习题

1. 小明爱跑步

题目要求:小明的体重为120KG,小明每跑一次步体重下降0.5KG,小明每吃一顿饭体重上升1KG。
类的设计如下所示:

class Person:
    def __init__(self, name, weight):
        self.name = name
        self.weight = weight

    def __str__(self):
        return "[%s]的当前体重是 %.1f KG " % (self.name, self.weight)

    def running(self):
        print("跑了一次步 !")
        self.weight = self.weight - 0.5

    def eatting(self):
        print("吃了一次饭 !")
        self.weight = self.weight + 1


p = Person('小明', 120)
print(p)
p.running()
p.running()
print(p)
p.eatting()
print(p)
2. 计算面积安置家具

具体要求:房子(House) 有 户型、总面积 和 家具名称列表。初始时的新房子没有任何的家具。家具(HouseItem) 有 名字 和 占地面积,其中席梦思(bed) 占地 4 平米、衣柜(chest) 占地 2 平米、餐桌(table) 占地 19.5 平米,将以上三件 家具 添加 到 房子 中。打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表。
类的设计如下所示:
在这里插入图片描述

# 家具类
class HouseItem:
    def __init__(self, Item_name, Item_area):
        self.Item_name = Item_name  # 家具名称
        self.Item_area = Item_area  # 家具占地面积

    def __str__(self):
        return "[%s] 占地 %.2f 平米" % (self.Item_name, self.Item_area)  # 返回家具名称以及该家具的占地面积

# 房子类
class House:
    def __init__(self, h_type, h_area):
        self.h_type = h_type  # 房子类型
        self.h_area = h_area  # 房子总面积
        self.Item_list = []  # 房子中家具的列表

        self.free_area = h_area  # 初始时房子剩余面积等于总面积

    def __str__(self):
        print("-"*50)
        return ("户型:[%s]\n总面积 %.2f平方米,剩余[%.2f]平米\n已装家具:%s" % (self.h_type, self.h_area, self.free_area, self.Item_list))
    
    # 该方法实现了将家具安装到房子中
    def add_Item(self, item):
        # 1. 判断家具面积是否大于剩余面积
        if item.Item_area > self.free_area:
            print("%s 太大了!装不到您的房子内!" % item.Item_name)
            return

        # 2. 把家具装入家具列表中
        self.Item_list.append
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值