python习题

学生管理系统

def info_print():
    print('请选择功能------------')
    print('1.添加学员')
    print('2.删除学员')
    print('3.修改学员')
    print('4.查询学员')
    print('5.显示所有学员')
    print('6.退出系统')
    print('-' * 20)


# 1.添加学员需求分析
#   a.接受用户输入的学员数据并保存
#   b.判断在数据库中是否存在姓名相同的学院数据,若相同则不能添加
#   c.准备空字典来保存学员数据
def add_info():
    stu_id = input("请输入学号")
    stu_name = input("请输入姓名")
    stu_tel = input("请输入手机号")

    global info

    # 检测是否存在相同姓名
    for i in info:
        if stu_name == i['name']:
            print('该学员数据已存在!')
            return

    # 添加学员数据
    dict1 = {'name': stu_name, 'id': stu_id, 'tel': stu_tel}
    info.append(dict1)
    print('学员数据添加成功')
    print(info)


# 删除学员分析
# 1.用户输入名字
# 2.搜索是否存在
#     a.存在,就删掉
#     b.不存在,提示"该用户不存在"
def del_info():
    del_name = input("请输入要删除的学员姓名")
    # 定义flag和引用全局变量info
    global info
    # 判断是否存在
    for i in info:
        if del_name == i['name']:
            info.remove(i)
            break
    # 不存在则提示
    else:
        print("该学员不存在")
    print(info)


# 修改学员信息分析
# 用户输入目标学员姓名
# 若存在,则修改该学员信息
# 若不存在,则报错
def modify_info():
    modify_name = input("请输入要修改的学员姓名")
    global info
    for i in info:
        if i['name'] == modify_name:
            i['name'] = input("请输入新的学员姓名")
            i['id'] = input("请输入新的学号")
            i['tel'] = input("请输入新的电话")
            print("修改成功")
            break
    else:
        print("该学员不存在")
    print(info)


# 查询学员信息分析
# 用户输入姓名查询
# 若存在则打印,不存在则报错
def search_info():
    search_name = input("请输入要查询的学员姓名")
    global info
    for i in info:
        if i['name'] == search_name:
            print(f'该学员的姓名是{i["name"]},学号是{i["id"]},电话是{i["tel"]}')
            break
    else:
        print("该学员不存在")


# 显示所有学员信息
def show_info():
    print('-'*5 + '姓名' + '-' * 5 + '学号' + '-' * 10 + '电话' + '-' * 10)
    global info
    for i in info:
        print("%8s  %5s  %20s" % (i['name'], i['id'], i['tel']))


# 退出系统
def exit_info():
    flag = input("是否要退出系统(是/否)")
    if flag == '是':
        print('退出成功')
        exit()
    else:
        return


info = []
while True:
    # 显示功能界面
    info_print()

    # 用户输入功能序号
    user_num = int(input("请输入功能序号:"))

    # 安装用户输入的号码,执行不同的功能
    if user_num == 1:
        add_info()
    elif user_num == 2:
        del_info()
    elif user_num == 3:
        modify_info()
    elif user_num == 4:
        search_info()
    elif user_num == 5:
        show_info()
    elif user_num == 6:
        exit_info()
    else:
        print('输入的功能序号有误')

搬家具

"""
需求:将小于房子剩余面积的家具摆放到房子中
房子类     家具类
"""


# 家具类
class Furniture():
    def __init__(self, name, area):
        self.name = name
        self.area = area





# 房子类
class Home():
    def __init__(self, address, area):
        # 房子地址
        self.address = address
        # 房子面积
        self.area = area
        # 房子剩余面积
        self.free_area = area
        # 家具列表
        self.furniture = []

    def __str__(self):
        return f'房子坐落于{self.address},占地面积{self.area},剩余面积{self.free_area},' \
               f'家具有{self.furniture}'

    def add_furniture(self, item):
        """容纳家具"""
        if self.free_area >= item.area:
            self.furniture.append(item.name)
            # 家具搬入后,房子剩余空闲面积会变小
            self.free_area -= item.area
        else:
            print('家具太大了,剩余面积不足')


bed = Furniture('双人床', 6)
sofa = Furniture('沙发', 10)
ball = Furniture('篮球场', 2000)
jia1 = Home('杭州', 300)
jia1.add_furniture(bed)
jia1.add_furniture(sofa)
print(jia1)
jia1.add_furniture(ball)
print(jia1)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值