Python之学生信息管理系统

本文转自网络文章,已获取原文作者授权。 原文作者:五秒法则

img


实现

打印功能菜单、添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统,并且需要接收用户的输入,在根据输入内容调用相应函数实现相应功能,模板图如下:

img

一、基础界面实现

1、主函数

定义主函数main,并通过定义print_menu()函数输打印学生管理系统菜单

#打印功能菜单
def print_menu():
    print('='*30)
    print('学生管理系统')
    print('1.添加学生信息')
    print('2.删除学生信息')
    print('3.修改学生信息')
    print('4.显示所有学生信息')
    print('0.退出系统')
    print('')
 
#定义主函数
def main():
    print_menu()
if __name__ == "__main__":
    main()

img

2、保持循环,获取用户需求

**(1)while True循环:**使系统菜单一直保持循环,为后面实现用户选择退出系统后,系统才结束循环作铺垫

**(2)变量key:**将获取到的用户需要实现的功能进行存储

**(3)if循环:**多分支循环,再分别实现各个模块的功能

#定义主函数
def main():
    while True:
        print_menu()
        key = input('请输入功能对应的数字:')
        if key == '1':
            #添加学生信息
            pass
        elif key == '2':
            #删除学生信息
            pass
        elif key == '3':
            #修改学生信息
            pass
        elif key == '4':
            #查找全部学生信息
            pass
        elif key == '0':
            #退出系统
            pass
        else:
            print('输入有误')

img

二、函数实现模块功能

1、添加学生信息

**(1)name,sex,phone:**存储用户输入的新学生的姓名,性别,手机号码信息

**(2)new_info():**定义成一个字典,通过键值对的形式,存储当前学生的所有信息

**(3)append():**列表的添加,将当前的字典存入列表,作为列表的一个元素

**(4)stu_info:**定义了一个列表用来存储所有的学生信息

#定义一个列表来存储所有学生信息
stu_info = []
 
#添加学生信息
def add_stu_info():
    name = input('请输入新学生的姓名:')
    sex = input('请输入新学生的性别:')
    phone = input('请输入新学生的手机号码:')
    new_info = dict()#定义一个字典
    new_info['name'] = name
    new_info['sex'] = sex
    new_info['phone'] = phone
    stu_info.append(new_info)

img

2、删除学生信息

**(1)len():**进入删除操作前先判断学生信息表是否为空

①为空:输出学生信息表为空,直接跳出删除操作

②不空:通过del_num变量记录用户需要删除的学生序号

**(2)**记录好要删除的学生序号还需要进一步判断输入的序号是否有误

①为flase:输出要删除的序号有误,跳出删除操作

②为true:通过del列表的删除操作进行删除对应序号的学生信息,并输出删除成功

#删除学生信息
def del_stu_info(student):
    if len(stu_info) != 0:
        del_num = int(input('请输入要删除的序号:')) - 1
        if del_num < len(stu_info):
            del student[del_num]
            print(f'删除指定序号:{del_num+1}成功')
        else:
            print('要删除的序号有误')
    else:
        print('学生信息表为空')

img

3、修改学生信息

**(1)len():**进入修改操作前先判断学生信息表是否为空

①为空:输出学生信息表为空,直接跳出修改操作

②不空:通过rev_num变量记录用户需要修改的学生序号

**(2)**记录好要修改的学生序号还需要进一步判断输入的序号是否有误

①为flase:输出要修改的序号有误,跳出修改操作

②为true:通过rev_name、rev_sex、rev_phone变量记录修改后学生的信息

**(3)stu_info[][]:**通过列表修改元素的方法,将新的信息替换旧的信息

#修改学生信息
def rev_stu_info():
    if len(stu_info) != 0:
        rev_num = int(input('请输入要修改学生的序号:')) - 1
        if rev_num >= len(stu_info):
            print("要修改的序号有误")
        else:
            rev_name = input('请输入要修改学生的姓名:')
            rev_sex = input('请输入要修改学生的性别:')
            rev_phone = input('请输入要修改学生的手机:')
            stu_info[rev_num]['name'] = rev_name
            stu_info[rev_num]['sex'] = rev_sex
            stu_info[rev_num]['phone'] = rev_phone
    else:
        print('学生信息表为空')

img

4、查找全部学生信息

**(1)len():**进入查找操作前先判断学生信息表是否为空

①为空:输出学生信息表为空,直接跳出查找操作

②不空:输出学生信息如下

**(2)i:**序号,记录并输出学生数量

**(3)for循环:**逐个输出列表元素

#查找全部学生信息
def show_stu_info():
    if len(stu_info) != 0:
        print('学生的信息如下:')
        print('=' * 30)
        print('序号  姓名  性别  手机号码')
        i = 1
        for temp_info in stu_info:
            print("%d  %s  %s  %s" %(i,temp_info['name'],temp_info['sex'],temp_info['phone']))
            i += 1
    else:
        print('学生信息表为空')

img

5、退出系统

**(1)quit_confirm:**再次询问用户是否退出,并记录

**(2)if循环:**判断用户输入的是Yes还是No

①break:用户输入Yes,即确定退出,跳出while True这个死循环

②coninue:用户输入No,即不退出,则继续新一轮的while True循环

#定义主函数
def main():
    while True:
        print_menu()
        key = input('请输入功能对应的数字:')
        if key == '1':
            #添加学生信息
            pass
        elif key == '2':
            #删除学生信息
            pass
        elif key == '3':
            #修改学生信息
            pass
        elif key == '4':
            #查找全部学生信息
            pass
        elif key == '0':
            #退出系统
            quit_confirm = input('亲,真的要退出么?(Yes/No):')
            if quit_confirm == 'Yes':
                break
            elif quit_confirm == 'No':
                continue
            else:
                print('输入有误,请重新输入')
        else:
            print('输入有误')

img

三、整合代码

1、 完整代码
#定义一个列表来存储所有学生信息
stu_info = []
 
#打印功能菜单
def print_menu():
    print('=' * 30)
    print('学生管理系统')
    print('1.添加学生信息')
    print('2.删除学生信息')
    print('3.修改学生信息')
    print('4.显示所有学生信息')
    print('0.退出系统')
    print('=' * 30)
 
#添加学生信息
def add_stu_info():
    name = input('请输入新学生的姓名:')
    sex = input('请输入新学生的性别:')
    phone = input('请输入新学生的手机号码:')
    new_info = dict()#定义一个字典
    new_info['name'] = name
    new_info['sex'] = sex
    new_info['phone'] = phone
    stu_info.append(new_info)
 
#删除学生信息
def del_stu_info(student):
    if len(student) != 0:
        del_num = int(input('请输入要删除的序号:')) - 1
        if del_num < len(stu_info):
            del student[del_num]
            print(f'删除指定序号:{del_num+1}成功')
        else:
            print('要删除的序号有误')
    else:
        print('学生信息表为空')
 
#修改学生信息
def rev_stu_info():
    if len(stu_info) != 0:
        rev_num = int(input('请输入要修改学生的序号:')) - 1
        if rev_num >= len(stu_info):
            print("要修改的序号有误")
        else:
            rev_name = input('请输入要修改学生的姓名:')
            rev_sex = input('请输入要修改学生的性别:')
            rev_phone = input('请输入要修改学生的手机:')
            stu_info[rev_num]['name'] = rev_name
            stu_info[rev_num]['sex'] = rev_sex
            stu_info[rev_num]['phone'] = rev_phone
    else:
        print('学生信息表为空')
 
#查找全部学生信息
def show_stu_info():
    if len(stu_info) != 0:
        print('学生的信息如下:')
        print('=' * 30)
        print('序号  姓名  性别  手机号码')
        i = 1
        for temp_info in stu_info:
            print("%d  %s  %s  %s" %(i,temp_info['name'],temp_info['sex'],temp_info['phone']))
            i += 1
    else:
        print('学生信息表为空')
 
#定义主函数
def main():
    while True:
        print_menu()
        key = input('请输入对应的功能的数字:')
        if key == '1':
            #添加学生信息
            add_stu_info()
        elif key == '2':
            #删除学生信息
            del_stu_info(stu_info)
        elif key == '3':
            #修改学生信息
            rev_stu_info()
        elif key == '4':
            #显示所有学生信息
            show_stu_info()
        elif key == '0':
            #退出系统
            quit_confirm = input('亲,真的要退出么?(Yes/No):')
            if quit_confirm == 'Yes' or quit_confirm == 'yes' or quit_confirm == 'YES':
                break
            elif quit_confirm == 'No' or quit_confirm == 'no' or quit_confirm == 'NO':
                continue
            else:
                print('输入有误,请重新输入')
        else:
            print('输入有误,请重新输入')
 
if __name__=='__main__':
    main()
2、完整实现过程

img

原文链接:https://blog.csdn.net/qq_51478745/article/details/127165054#t4

在这里插入图片描述

  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个简单的Python学生信息管理系统示例代码,包括了学生信息的添加、查询、修改和删除等基本功能: ```python import sqlite3 # 连接数据库 conn = sqlite3.connect('students.db') c = conn.cursor() # 创建数据表 c.execute('''CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, gender TEXT, class TEXT)''') # 添加学生信息 def add_student(id, name, age, gender, class_name): c.execute("INSERT INTO students (id, name, age, gender, class) VALUES (?, ?, ?, ?, ?)", (id, name, age, gender, class_name)) conn.commit() # 查询学生信息 def search_student(name): c.execute("SELECT * FROM students WHERE name=?", (name,)) return c.fetchall() # 修改学生信息 def update_student(id, name, age, gender, class_name): c.execute("UPDATE students SET name=?, age=?, gender=?, class=? WHERE id=?", (name, age, gender, class_name, id)) conn.commit() # 删除学生信息 def delete_student(id): c.execute("DELETE FROM students WHERE id=?", (id,)) conn.commit() # 测试代码 add_student(1, 'Tom', 18, 'M', 'A') add_student(2, 'Lucy', 19, 'F', 'B') add_student(3, 'John', 20, 'M', 'A') print(search_student('Tom')) update_student(1, 'Tommy', 19, 'M', 'A') print(search_student('Tommy')) delete_student(2) print(search_student('Lucy')) # 关闭数据库连接 conn.close() ``` 运行以上代码,将会创建一个名为 `students.db` 的 SQLite 数据库文件,然后添加、查询、修改和删除学生信息,并输出结果。你可以根据需要调整数据表的字段和数据类型,以及相应的操作函数。同时,你还可以根据实际需求添加更多的功能,比如排序、分页等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值