python习题#讲解5

·day05【学生管理系统】

方法1:学生管理【整体系统】

list1 = []
def input_dict():#1定义input函数
    for i in range(3):
        name = input(f'请输入第{i + 1}个学生的姓名:')
        age = int(input(f'请输入第{i + 1}个学生的年龄:'))
        list1.append({'name': name, 'age': age})
    return list1
def show_student_info(list1):#2定义show函数
    num = 1
    if len(list1) == 0:
        print('还没有信息哦,快去添加吧~')
    else:
        print('-----------------------学生列表信息-----------------------')
        for i in list1:
            print(f'{num}       {i.get("name")}       {i.get("age")}')
            num += 1
        print('--------------------------------------------------------')
def get_student_count():#3定义count函数
    return len(list1)
def select_student():#4定义select函数
    name = input('请输入要查询的学生姓名:')
    for i in range(len(list1)):
        if name == list1[i]['name']:
            print(f"姓名:{name},年龄:{list1[i]['age']}")
            break
    if name != list1[i]['name']:
        print(f"对不起,名字叫【{name}】的学生不存在")
while True:#while循环系统
    print('------------欢迎使用学生信息管理系统-----------')
    print(f'0.退出游戏\n1.录入学生信息\n2.展示学生列表信息\n3.统计学生总数\n4.查询学生信息')
    print('-------------------------------------------------------------')
    select = input('请输入您要执行的命令:')
    print('-------------------------------------------------------------')
    if select == '0':
        break
    elif select == '1':#1调用input函数
        print(input_dict())
    elif select == '2':#2执行show函数
        show_student_info(list1)
    elif select == '3':#3执行count函数
        print(f'学生的总数为:{get_student_count()}')
    elif select == '4':#4执行select函数
        select_student()
    else:
        print('输入指令不正确')

方法2:拆开讲解【1234步可独立】

print('第1步录入3个学生信息================================')
list1 = []
def input_dict():
    for i in range(3):
        name = input(f'请输入第{i + 1}个学生的姓名:')
        age = int(input(f'请输入第{i + 1}个学生的年龄:'))
        list1.append({'name': name, 'age': age})
    return list1
print(input_dict())
# 第1步录入3个学生信息==========================
# 1.定义一个空列表list1 = []
# 2.def定义一个函数 input_dict()
# 3.for循环range3次(i的初始值为0)
# 4.input值定义给name{i+1=0+1}
# 5.input值定义给age{i+1=0+1}
# 6.将4.5.input的值append赋于1.定义的list1
# 7.将结果list1使用return返回值
# 8.打印函数input_dict()
print('第2步展示3个学生信息===============================')
stu_list = [{'name': '张三', 'age': 19}, {'name': '李四', 'age': 18}, {'name': '王五', 'age': 22}]
def show_student_info():
    i = 1
    for stu in stu_list:
        print(f'{i}\t\t{stu.get("name")}\t\t{stu.get("age")}')
        i += 1
show_student_info()
# 第2步展示3个学生信息===========================
# 0.定义stu_list
# 1.def定义函数show_student_info()
# 2.给i赋一个值1(用于后续序号)
# 3.for循环遍历stu_list定义变量名stu(列表转字典)
# 4.打印i序号加两个\t(空格)stu字典中.get到的name值和stu字典中的age值
# 5.for循环内给i序号赋值+1
# 6.show_student_info()
print('第3步统计学生总数===============================')
stu_list = [{'name': '张三', 'age': 19}, {'name': '李四', 'age': 18}, {'name': '王五', 'age': 22}]
def get_student_count():
    return len(stu_list)
print(f'学生的总数为:{get_student_count()}')
# 第3步统计学生总数===============================
# 这个不讲了大家都会len(stu_list)
# ============================注:============================
# 1.for循环使用容器方式  in前的临时变量是容器的元素
# 2.for循环使用range方式 in前的临时变量是数字序号(初始值0)
print('第4步查询学生信息===============================')
stu_list = [{'name': '张三', 'age': 19}, {'name': '李四', 'age': 18}, {'name': '王五', 'age': 22}]
def select_student():
    name = input('请输入要查询的学生姓名:')
    for i in range(len(stu_list)):
        if name == stu_list[i]['name']:
            print(f"姓名:{name},年龄:{stu_list[i]['age']}")
            break
    if name != stu_list[i]['name']:
        print(f"对不起,名字叫【{name}】的学生不存在")
select_student()
# 第4步查询学生信息===============================
# 0.定义stu_list=
# 1.def定义一个函数select_student
# 2.input请输入要查询的学生姓名:赋值给name
# 3.(重点)for循环可以遍历参考【题目2第2步】
# 3.1.range循环次数1stu_list的长度len【起到有几个学生循环几次】
# 3.2.【注这里用的range for循环i的初始值是0后续用的到】
# 4.if如果2.输入的name值等于【stu_list中的[i]=[0]的['name']】
# 5.满足if条件打印姓名该学生信息
# 6.break满足if条件结束循环
# 7.if如果name不等于name(注意在for循环外)
# 8.打印输出该学生不存在
# 9.select_student()函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值