Python基础入门篇【24】--函数的练习实例:编写学生信息库

前言
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
💬 如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
💬 人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺💬
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦

python中函数的练习实例-学生信息库

由于我们还没有学习数据库和文件存储读取,我们先将学生的信息写入一个字典变量中:

students = {
    1: {'name': 'xiaoming',
        'age': 18,
        'sex': 'boy',
        'class_number': 'A'
        },
    2: {'name': 'xiaobai',
        'age': 19,
        'sex': 'girl',
        'class_number': 'B'
        },
    3: {'name': 'xiaokuai',
        'age': 18,
        'sex': 'boy',
        'class_number': 'A'
        },
    4: {'name': 'xiaoman',
        'age': 18,
        'sex': 'girl',
        'class_number': 'C'
        }
}

获取全部学生信息

定义一个函数,用来返回全部的学生信息:

# 获取全部学生信息
def get_all_students():
    for id_, value in students.items():
        print('学号:{} 姓名:{} 年龄:{} 性别:{} 班级:{}'.format(
            id_, value['name'], value['age'], value['sex'], value['class_number']))
    return students


get_all_students()

新增学生

定义一个函数,用来向学生信息库中新增学生

# 新增学生
def add_student(**kwargs):
    if 'name' not in kwargs:
        print('缺少学生姓名')
        return
    if 'age' not in kwargs:
        print('缺少学生年龄')
        return
    if 'sex' not in kwargs:
        print('缺少学生性别')
        return
    if 'class_number' not in kwargs:
        print('缺少学生班级')
        return
    id_ = max(students.keys()) + 1  # 定义新增的学生学号
    students[id_] = kwargs


add_student(name='xiaogao', age=17, sex='girl', class_number='B')

删除学生

定义一个函数,用来删除学生信息库中的学生

def delete_student(student_id):
    if student_id not in students.keys():
        print('不存在这个学号{}的学生'.format(student_id))
        return
    students.pop(student_id)

delete_student(2)

根据学号查找学生

定义一个函数,用来根据学号在学生信息库查找学生

def search_student_by_id(student_id):
    if student_id not in students.keys():
        print('不存在这个学号{}的学生'.format(student_id))
        return
    print(students[student_id])

print('--------')
search_student_by_id(3)

关键字查找学生

定义一个函数,用来根据关键字在学生信息库查找学生

def search_students(**kwargs):
    values = list(students.values())
    result = []   # 为查询出来的结果定义一个空列表
    for item in values:
        if 'name' in kwargs:
            if kwargs['name'] == item['name']:
                result.append(item)
        elif 'age' in kwargs:
            if kwargs['age'] == item['age']:
                result.append(item)
        elif 'sex' in kwargs:
            if kwargs['sex'] == item['sex']:
                result.append(item)
        elif 'class_number' in kwargs:
            if kwargs['class_number'] == item['class_number']:
                result.append(item)
        else:
            return None

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值