python:【列表】的具体应用

以学生通讯管理系统登录系统为例:

实现【添加学员信息→打印学员信息→删除学员信息→退出循环】的过程。

①列表版本:

print('-'*40)
print("欢迎使用学生通讯管理系统v1.0")
print("[1] 增加学员信息")
print("[2] 删除学员信息")
print("[3] 打印学员信息")
print("[4] 退出系统")
print('-'*40)
students = []
while True:
    n = int(input("请重新输入要操作的编号[1-4]:"))
    if n == 1:
        code = input("请输入学员学号:")
        name = input("请输入学员姓名:")
        tel = input("请输入学员电话:")
        s = {"code":code,"name":name,"tel":tel}
        students.append(s)
        print(students)
    elif n == 2:
        code = input("请输入待删除的学号:")
        # 以下:遍历列表,查找待删除的学员
        for s in students:
            if s["code"] == code:
                students.remove(s)
                print("删除成功")
                break
        else:
            print("没有该学号学生,删除失败!")
    elif n == 3:
        for x in students:
            print("学号:%s\t姓名:%s\t电话:%s\n" % (x["code"],x["name"],x["tel"]))
    elif n == 4:
        print('欢迎使用学生通讯管理系统v.1.0')
        break
    else:
        print('输入错误,请重新输入要操作的编号!')

效果图:

②函数封装版本:

# 1、封装一个menu函数,专门用于打印选择界面菜单
def menu():
    print('-' * 40)
    print('通讯录管理系统V1.0')
    print('1、添加学员信息')
    print('2、删除学员信息')
    print('3、修改学员信息')
    print('4、查询学员信息')
    print('5、遍历所有学员信息')
    print('6、退出系统')
    print('-' * 40)

# 6、定义一个全局变量
info = []

# 5、定义add_student方法,用于添加学员信息
def add_student():
    # 定义一个空字典,接收name,age,mobile
    info_dict = {}
    # 提示用户输入学员信息name、age、mobile
    info_dict['name'] = input('请输入学员姓名:')
    info_dict['age'] = int(input('请输入学员年龄:'))
    info_dict['mobile'] = input('请输入学员电话:')
    # 声明全局变量info
    global info
    # 追加数据到info列表中
    info.append(info_dict)
    print('学员信息添加成功')
    print(info)

# 7、定义del_student方法,用于删除学员信息
def del_student():
    # 提示用户输入要删除学员的信息
    name = input('请输入您要删除学员的姓名:')
    # 判断name是否存在于info中的字典里 [{'name':'yogeek'}, {}, {}]
    for i in info:
        if i['name'] == name:
            info.remove(i)
            print('学员信息删除成功')
            print(info)
            break
    else:
        print('暂未查询到您要删除的学员信息')


# 8、定义modify_student方法,用于修改学员信息
def modify_student():
    # 提示用户输入要修改学员的信息
    name = input('请输入您要修改学员的姓名:')
    global info
    # 判断name是否存在于info中的字典里 [{'name':'yogeek', 'age':18, 'mobile':'10086'}, {}, {}]
    for i in info:
        if i['name'] == name:
            i['name'] = input('请输入修改后的姓名:')
            i['age'] = input('请输入修改后的年龄:')
            i['mobile'] = input('请输入修改后的电话:')
            print('学员信息修改成功')
            print(info)
            break
    else:
        print('暂未查询到您要修改的学员信息')

# 9、定义show_student方法,用于查询某个学员信息
def show_student():
    # 提示用户输入要修改学员的信息
    name = input('请输入您要查询学员的姓名:')
    # 循环遍历,判断name是否存在
    for i in info:
        if i['name'] == name:
            print(f'学员姓名:{i["name"]},学员年龄:{i["age"]},学员电话:{i["mobile"]}')
            break
    else:
        print('暂未查询到您要查询的学员信息')


# 10、定义show_all方法,用于遍历所有学员信息
def show_all():
    # 直接对info进行遍历操作
    for i in info:
        print(f'学员姓名:{i["name"]},学员年龄:{i["age"]},学员电话:{i["mobile"]}')

# 4、编写死循环,让程序可以一直执行下去
while True:
    # 打印功能菜单
    menu()

    # 2、使用input方法接收用户的输入信息
    user_num = int(input('请输入您要操作的功能序号:'))

    # 3、使用if多分支条件实现不同的功能
    if user_num == 1:
        # 添加学员信息
        add_student()
    elif user_num == 2:
        # 删除学员信息
        del_student()
    elif user_num == 3:
        # 修改学员信息
        modify_student()
    elif user_num == 4:
        # 查询学员信息
        show_student()
    elif user_num == 5:
        # 遍历所有学员信息
        show_all()
    elif user_num == 6:
        # 退出系统
        print('感谢您使用通讯录管理系统V1.0')
        break
    else:
        print('信息输入错误,请重新输入...')

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值