python--函数应用:学生管理系统

主要的步骤:

  1. 增删改查操作:

  1. 储存学生信息:

  1. (姓名,年龄,班级,性别......)

  1. 储存所有的学生信息:

列表:[{},{},{}......]

5.功能菜单,业务框架。


  1. 搭建业务框架

  • 添加学生

  • 删除学生

  • 修改学生信息

  • 查询单个学生信息

  • 查询所有学生信息

  • 退出系统

  • 请选择要进行的操作编号:

def show_menu():
    print('1.添加学生')
    print('2.删除学生')
    print('3.修改学生信息')
    print('4.查询单个学生信息')
    print('5.查询所有的学生信息')
    print('6.退出系统')


while True:
    show_menu()
    opt = input('选择要进行的标号:')
    if opt == '1':
        print('1.添加学生')
    elif opt == '2':
        print('2.删除学生')
    elif opt == '3':
        print('3.修改学生信息')
    elif opt == '4':
        print('4.查询单个学生信息')
    elif opt == '4':
        print('5.查询所有的学生信息')
    elif opt == '6':
        print('6.退出系统')
    else:
        print('输入有误,请重新输入')
        continue
    input('-----请按回车键在进行操作-------')

添加学生信息

  • 通过input函数获取学生的信息,姓名,年龄,性别

  • 将学生信息转换为字典进行保存

  • 将这个学生字典添加的列表中

  • 代码优化:假设学生的名字不重复,在添加学生的时候,进行判断,如果学生姓名已经存在,则比添加。

def show_menu():
    print('1.添加学生')
    print('2.删除学生')
    print('3.修改学生信息')
    print('4.查询单个学生信息')
    print('5.查询所有的学生信息')
    print('6.退出系统')


stud_list = []


def insert_studet():
    # 通过input函数获取学生的信息,姓名,年龄,性别
    name = input('输入学生姓名:')
    for j in stud_list:
        if j['name'] == name:
            print('学生信息存在,不在添加')
            return  # 结束函数执行
    age = input('输入学生年龄:')
    gender = input('输入学生性别:')
    # • 将学生信息转换为字典进行保存
    stud_dict = {'name': name, 'age': age, 'gender': gender}
    # • 将这个学生字典添加的列表中
    stud_list.append(stud_dict)
    print('------------学生信息添加成功-------------')


def show_all_stud():
    if len(stud_list):
        for i in stud_list:
            print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
    else:
        print('目前没有学生信息')


while True:
    show_menu()
    opt = input('选择要进行的标号:')
    if opt == '1':
        print('1.添加学生')
        insert_studet()
    elif opt == '2':
        print('2.删除学生')
    elif opt == '3':
        print('3.修改学生信息')
    elif opt == '4':
        print('4.查询单个学生信息')
    elif opt == '5':
        print('5.查询所有的学生信息')
        show_all_stud()
    elif opt == '6':
        print('6.退出系统')
        break
    else:
        print('输入有误,请重新输入')
        continue
    input('-----请按回车键在进行操作-------')

删除/修改/查询学生信息

  • 都使用name对学生进行判断

  • 使用input获取要删除/修改/查询的学生姓名

  • 判断学生信息是否存在

  • 学生存在,对学生进行 删除/修改/查询 操作

  • 学生信息不存在,直接结束

完整代码进行编写完成:

def show_menu():
    print('1.添加学生')
    print('2.删除学生')
    print('3.修改学生信息')
    print('4.查询单个学生信息')
    print('5.查询所有的学生信息')
    print('6.退出系统')


stud_list = []


def insert_studet():
    # 通过input函数获取学生的信息,姓名,年龄,性别
    name = input('输入学生姓名:')
    for j in stud_list:
        if j['name'] == name:
            print('学生信息存在,不在添加')
            return  # 结束函数执行
    age = input('输入学生年龄:')
    gender = input('输入学生性别:')
    # • 将学生信息转换为字典进行保存
    stud_dict = {'name': name, 'age': age, 'gender': gender}

    # • 将这个学生字典添加的列表中
    stud_list.append(stud_dict)
    print('------------学生信息添加成功-------------')


def stud_remove():
    # 使用input获取要删除/修改/查询 的学生姓名
    name = input('输入学生名字')
    for stud in stud_list:
        # 判断学生信息是否存在
        if name == stud['name']:
            print('学生姓名存在')
            # 学生信息存在,对学生进行 删除/修改/查询/操作
            stud_list.remove(stud)  # 删除整个字典
            return
    else:
        print('该学生信息不存在,无法删除')


def stud_modify():
    name = input('输入学生名字')
    for stud in stud_list:
        if name == stud['name']:
            stud['age'] = int(input('输入新的年龄:'))
            return
    else:
        print('该学生信息不存在,无法删除')


def stud_single():
    name = input('输入查询学生姓名:')
    for i in stud_list:
        if name == i['name']:
            print(i)
            return
    else:
        print('没有查到此学生信息')


def show_all_stud():
    if len(stud_list):
        for i in stud_list:
            print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
    else:
        print('目前没有学生信息')


def main():
    while True:
        show_menu()
        opt = input('选择要进行的标号:')
        if opt == '1':
            print('1.添加学生')
            insert_studet()
        elif opt == '2':
            print('2.删除学生')
            stud_remove()
        elif opt == '3':
            stud_modify()
            print('3.修改学生信息')
        elif opt == '4':
            print('4.查询单个学生信息')
            stud_single()
        elif opt == '5':
            print('5.查询所有的学生信息')
            show_all_stud()
        elif opt == '6':
            print('6.退出系统')
            break
        else:
            print('输入有误,请重新输入')
            continue
        input('-----请按回车键在进行操作-------')


main()

1.文件进行保存

###---------------------学生管理系统-----------------
def show_menu():
    print('1.添加学生')
    print('2.删除学生')
    print('3.修改学生信息')
    print('4.查询单个学生信息')
    print('5.查询所有的学生信息')
    print('6.退出系统')


stud_list = []


def insert_studet():
    # 通过input函数获取学生的信息,姓名,年龄,性别
    name = input('输入学生姓名:')
    for j in stud_list:
        if j['name'] == name:
            print('学生信息存在,不在添加')
            return  # 结束函数执行
    age = input('输入学生年龄:')
    gender = input('输入学生性别:')
    # • 将学生信息转换为字典进行保存
    stud_dict = {'name': name, 'age': age, 'gender': gender}

    # • 将这个学生字典添加的列表中
    stud_list.append(stud_dict)
    print('------------学生信息添加成功-------------')


def stud_remove():
    # 使用input获取要删除/修改/查询 的学生姓名
    name = input('输入学生名字')
    for stud in stud_list:
        # 判断学生信息是否存在
        if name == stud['name']:
            print('学生姓名存在')
            # 学生信息存在,对学生进行 删除/修改/查询/操作
            stud_list.remove(stud)  # 删除整个字典
            return
    else:
        print('该学生信息不存在,无法删除')


def stud_modify():
    name = input('输入学生名字')
    for stud in stud_list:
        if name == stud['name']:
            stud['age'] = int(input('输入新的年龄:'))
            return
    else:
        print('该学生信息不存在,无法删除')


def stud_single():
    name = input('输入查询学生姓名:')
    for i in stud_list:
        if name == i['name']:
            print(i)
            return
    else:
        print('没有查到此学生信息')


def show_all_stud():
    if len(stud_list):
        for i in stud_list:
            print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
    else:
        print('目前没有学生信息')


def save():
    f = open('student.txt', 'w')
    f.write(str(stud_list))
    f.close()      #文件保存方法


def main():
    while True:
        show_menu()
        opt = input('选择要进行的标号:')
        if opt == '1':
            print('1.添加学生')
            insert_studet()
        elif opt == '2':
            print('2.删除学生')
            stud_remove()
        elif opt == '3':
            stud_modify()
            print('3.修改学生信息')
        elif opt == '4':
            print('4.查询单个学生信息')
            stud_single()
        elif opt == '5':
            print('5.查询所有的学生信息')
            show_all_stud()
        elif opt == '6':
            save()
            print('6.退出系统')
            break
        else:
            print('输入有误,请重新输入')
            continue
        input('-----请按回车键在进行操作-------')


main()
  1. 文件进行读取

  1. 进行优化

###---------------------学生管理系统-----------------
import os


def show_menu():
    print('1.添加学生')
    print('2.删除学生')
    print('3.修改学生信息')
    print('4.查询单个学生信息')
    print('5.查询所有的学生信息')
    print('6.退出系统')


stud_list = []


def insert_studet():
    # 通过input函数获取学生的信息,姓名,年龄,性别
    name = input('输入学生姓名:')
    for j in stud_list:
        if j['name'] == name:
            print('学生信息存在,不在添加')
            return  # 结束函数执行
    age = input('输入学生年龄:')
    gender = input('输入学生性别:')
    # • 将学生信息转换为字典进行保存
    stud_dict = {'name': name, 'age': age, 'gender': gender}

    # • 将这个学生字典添加的列表中
    stud_list.append(stud_dict)
    print('------------学生信息添加成功-------------')


def stud_remove():
    # 使用input获取要删除/修改/查询 的学生姓名
    name = input('输入学生名字')
    for stud in stud_list:
        # 判断学生信息是否存在
        if name == stud['name']:
            print('学生姓名存在')
            # 学生信息存在,对学生进行 删除/修改/查询/操作
            stud_list.remove(stud)  # 删除整个字典
            return
    else:
        print('该学生信息不存在,无法删除')


def stud_modify():
    name = input('输入学生名字')
    for stud in stud_list:
        if name == stud['name']:
            stud['age'] = int(input('输入新的年龄:'))
            return
    else:
        print('该学生信息不存在,无法删除')


def stud_single():
    name = input('输入查询学生姓名:')
    for i in stud_list:
        if name == i['name']:
            print(i)
            return
    else:
        print('没有查到此学生信息')


def show_all_stud():
    if len(stud_list):
        for i in stud_list:
            print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
    else:
        print('目前没有学生信息')


def save():
    f = open('student.txt', 'w')
    f.write(str(stud_list))
    f.close()  # 文件保存方法


def read():  # 读取文件
    global stud_list
    if os.path.exists('student.txt'):
        f = open('student.txt', 'r', encoding='utf-8')
        buf = f.read()
        if buf:
            stud_list = eval(buf)  # eval()去除引号
        f.close()


def main():
    while True:
        show_menu()
        opt = input('选择要进行的标号:')
        if opt == '1':
            print('1.添加学生')
            insert_studet()
        elif opt == '2':
            print('2.删除学生')
            stud_remove()
        elif opt == '3':
            stud_modify()
            print('3.修改学生信息')
        elif opt == '4':
            print('4.查询单个学生信息')
            stud_single()
        elif opt == '5':
            print('5.查询所有的学生信息')
            show_all_stud()
        elif opt == '6':
            save()
            print('6.退出系统')
            break
        else:
            print('输入有误,请重新输入')
            continue
        input('-----请按回车键在进行操作-------')


main()

这次的学生管理系统详细编写,大家可以看看!!!

如有错误,大家可以纠正!!!

#----------------python函数补充内容---------

注意:跟上面的学生管理系统无关!!!纯属补充内容!!!

def func(*args, **kwargs):
    print('args', args)
    print('kwargs', kwargs)
    num = 0
    for i in args:
        num += i
    for j in kwargs.values():
        num += j
    print(f'求和结果为{num}')


my_list = [1, 2, 3, 4, 5, 6]
my_dict = {'a': 7, 'b': 8, 'c': 9, 'd': 10}
# func(my_list) # 将列表作为一个数据进行传递
# func(*my_list) # 将列表中的每个数据作为位置参数进行传递,拆包
func(my_dict)  # 将my_dict 作为一个位置实参进行传递
func(*my_dict)  # 将my_dict 中的key作为位置实参进行传递
func(**my_dict)  # 将my_dict中键值对作为关键字实参进行传递

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最初的梦10

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值