一篇文章教你用Python实现一个学生管理系统

目录
  • 片头
  • 源码:
  • 总结

片头

Python看了差不多三四天吧,基本上给基础看差不多了。写个管理系统吧,后续不出意外SQL、文件存储版本都会更。
学习Python感想:

            人生苦短,我用Python
            人生苦短,我用Python
            人生苦短,我用Python
            人生苦短,我用Python

Python实在太爽了

源码:

使用Python3

'''
学生成绩管理系统
时间:2021.9.9
作者:sunbeam
'''
import time
import os
student_list = [] #定义一个列表类型全局变量
'''
列表里面存储所有学生信息,列表里面每个元素是一个字典,字典里面存放每一个学生的个人信息,存储结构如下
[(姓名1,年龄1,学号1,手机号码1),(姓名2,年龄2,学号2,手机号码2)......]
'''
def time_day():
        print()
        print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))

#主菜单界面
def std_menu():
    print("--------欢迎来到sunbeam的第一个python学生管理系统--------")
    print("       1、添加学生信息     2、删除学生信息     ")
    print("       3、查找学生信息     4、修改学生信息     ")
    print("       5、显示所有学生     6、退出系统        ")
    num=int(input("根据需求请输入对应的序号:"))
    return num
#添加学生信息
def std_add():
    while 1:
        std_name = input("请输入要添加的学生的姓名:")
        std_old = input("请输入要添加的学生的年龄:")
        std_id = input("请输入要添加的学生的学号:")
        std_tel = input("请输入要添加的学生的电话号码:")
        global student_list
        # 判断学生是否已存在,如果姓名和学号都重复说明学生存在
        for i in student_list:
            if (i['name'] == std_name) and (i['id'] == std_id):
                print("此学生信息已存在")
                return
        #如果学生信息不存在则添加学生信息
        std_message = {} #创建一个空的字典
        std_message['name']=std_name
        std_message['old']=std_old
        std_message['id']=std_id
        std_message['tel']=std_tel
        student_list.append(std_message)
        text=input("是否继续添加:YES or NO")
        if text=='NO':
            os.system('cls')
            break
        else:
            os.system('cls')
            continue
#查找学生信息
def std_find():
    flag=0
    while 1:
        find_name = input("请输入你要查询的学生的姓名:")
        global student_list
        for i in student_list:
            if (i['name'] == find_name):
                print("查询到如下学生:")
                print("-------------------")
                print(f"姓名:{i['name']}")
                print(f"年龄:{i['old']}")
                print(f"学号:{i['id']}")
                print(f"电话:{i['tel']}")
                print("-------------------")
                flag=1
        if flag==0:
            print("查无此人")
        lk=input("是否继续查找:YES or NO")
        if lk=="NO":
            os.system('cls')
            break
        else:
            os.system('cls')
            continue
#修改学生信息
def std_modify():
    while 1:
        find_name=input("请输入要修改的学生的学号:")
        global student_list
        for i in student_list:
            if (i['id']==find_name):
                print("你要修改的学生信息如下:")
                print("-------------------")
                print(f"姓名:{i['name']}")
                print(f"年龄:{i['old']}")
                print(f"学号:{i['id']}")
                print(f"电话:{i['tel']}")
                print('-----------------')
                while 1:
                    print(" 1、修改学生姓名   2、修改学生年龄 ")
                    print(" 3、修改学生学号   4、修改学生电话 ")
                    modify_num = int(input('请输入要修改的项目序号:'))
                    if modify_num==1:
                        modify_name=input("请输入要修改的学生的姓名:")
                        i['name']=modify_name
                    elif modify_num==2:
                        modify_old=input("请输入要修改的学生的年龄:")
                        i['old']=modify_old
                    elif modify_num==3:
                        modify_id=input("请输入要修改的学生的学号:")
                        i['id']=modify_id
                    else:
                        modify_tel=input("请输入要修改的学的生电话:")
                        i['tel']=modify_tel
                    print("是否继续修改当前学生信息:YES or NO")
                    print('---------------------')
                    modify_flag=input()
                    if modify_flag=="NO":
                        print("-----修改完成-----")
                        break
                    else:
                        continue
                break
        print("是否继续使用修改模块功能:YES or NO")
        lag=input()
        if lag=="YES":
            os.system('cls')
            continue
        else:
            os.system('cls')
            break
#显示所有学生信息
def std_all():
    global student_list
    print('姓名\t年龄\t学号\t电话')
    for i in student_list:
        print(f"{i['name']}\t{i['old']}\t{i['id']}\t{i['tel']}")
#删除函数
def std_delete():
    global student_list
    while 1:
        print("-----------------")
        del_num = input("请输入要删除的学生的学号:")
        for i in student_list:
            if (i['id'] == del_num):
                student_list.remove(i)
                print("删除成功")
                break
            else:
                print("查无此人")
        del_exit=input("是否退出:YES or NO")
        print("-----------------")
        if del_exit=='YES':
            os.system('cls')
            break
        else:
            os.system('cls')
            continue
while 1:
    time_day()
    user_num=std_menu()
    if user_num==1:
        std_add()
    elif user_num==2:
        std_delete()
    elif user_num==3:
        std_find()
    elif user_num==4:
        std_modify()
    elif user_num==5:
        std_all()
    elif user_num==6:
        os.system('cls')
        exit_flag=input("是否退出:YES or NO")
        if exit_flag=='YES':
            print("感谢使用,bey-bey")
            break
        else:
            continue
    else:
        print("输入无用序号,请输入菜单前序号。")

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python函数实现学员管理系统

    本文实例为大家分享了Python函数实现学员管理系统的具体代码,供大家参考,具体内容如下 这个是一个简单的管理程序 输入姓名,年龄,性别(也可以添加其他类别例如性取向),然后以列表的形式保存(默认为空列表).功能如下: 按1添加成员 按2删除成员 按3修改成员信息(目前不包括姓名但是可以添加) 按4检索并打印某个成员的全部信息 按5打印全部成员的信息 按6退出程序 大概就是这样子.下面是代码: import time def main(): '''主函數''' while True: sl(),

  • 教你用python实现一个无界面的小型图书管理系统

    一.需求了解 功能模块 图书信息 二.环境准备 安装mysql数据库 参考文章: MySQL数据库压缩版本安装与配置 MySQL msi版本下载安装图文教程 创建数据库表 创建数据库 CREATE DATABASE bookmanage; 使用数据库 use bookmanage; 创建表 create table books( id int unsigned primary key auto_increment not null, name varchar(20) default ""

  • python面向对象版学生信息管理系统

    本文实例为大家分享了python面向对象版的学生信息管理系统的具体代码,供大家参考,具体内容如下 功能: 1.能循环输入内容 2.展示功能 -1.新增名片 -2.显示全部 -3.查询名片 -0.退出系统 3.让用户输入希望执行的操作 例如输入1,2,3,0 4.新增列表 提示用户输入姓名, 输入电话 输入qq号 输入邮箱 提示新增名片成功. 5.显示全部 将所有的名片打印出来,格式如下: 姓名    电话       QQ               邮箱 zs       110    133

  • 教你用Python实现简易版学生信息管理系统(含源码)

    一.项目分析 1.首先定义一个存放基础学生信息列表 格式:list = [{学号:姓名,年龄:num,成绩:num },{--}] student1 = [\ {1:"jam",'age':17,'socer':99}, {2:'kol','age':18,'socer':89}, {3:'avlir','age':19,'socer':100}] 2.先搭建框架(主函数main()) if __name__ == '__main__': while True: menu() key

  • Python实现学生管理系统(面向对象版)

    本文实例为大家分享了Python实现学生管理系统的具体代码,供大家参考,具体内容如下 实现从面向过程到面向对象的过度,通过更改前面的学生管理系统实现面向对象,也证明了面向过程可以完美过度到面向对象,从而为以后的程序进步做了进一步优化,方便以后的程序更改. 完整代码如下: student_main模块中的代码 import student_tools class Student(student_tools.StudentT): def __init__(self): self.user=['wan

  • 基于Python实现的购物商城管理系统

    完整项目地址: https://github.com/kongxiangchx/Shopping-mall-management-system 简介 本项目使用Python语言编写,实现了顾客端和商家端. 功能 店主功能:注册.登录.修改店铺信息.添加商品.删除商品.修改商品.查找商品.查看交易记录. 顾客功能:注册.登录.修改收货信息.查找商品.购买商品.查看交易记录.取消订单. 商家端 shopMain.py:编写界面上组件的功能,并通过调用send_data.py向服务器发送相应的请求.

  • 一篇文章教你用Python实现一个学生管理系统

    目录 片头 源码: 总结 片头 Python看了差不多三四天吧,基本上给基础看差不多了.写个管理系统吧,后续不出意外SQL.文件存储版本都会更. 学习Python感想: 人生苦短,我用Python 人生苦短,我用Python 人生苦短,我用Python 人生苦短,我用Python Python实在太爽了 源码: 使用Python3 ''' 学生成绩管理系统 时间:2021.9.9 作者:sunbeam ''' import time import os student_list = [] #定义

  • 一篇文章教你用Python绘画一个太阳系

    目录 日地月三体 日地火 太阳系 你们要的3D太阳系 图片上传之后不知为何帧率降低了许多... 日地月三体 所谓三体,就是三个物体在重力作用下的运动.由于三点共面,所以三个质点仅在重力作用下的运动轨迹也必然无法逃离平面. 三体运动所遵循的规律就是古老而经典的万有引力 则对于 m i 而言, 且 将其写为差分形式 由于我们希望观察三体运动的复杂形式,而不关系其随对应的宇宙星体,所以不必考虑单位制,将其在二维平面坐标系中拆分,则 #后续代码主要更改这里的参数 m = [1.33e20,3.98e14

  • 一篇文章教你用python画动态爱心表白

    初级画心 学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆: 于是这就很简单了,十行代码解决: import turtle as t t.pensize(2) # 笔大小2像素 t.pencolor("red") # 颜色为红色 t.left(45) # 45度 t.fd(200) # 向前200直线 t.circle(100, 180) # 画一圆半径100 弧度180 t.right(90) # 向右90度 t.circle(100, 1

  • 一篇文章教你用Python实现一键文件重命名

    目录 应用背景 准备工作 上脚本 view.py 功能展示 打包方式 windows打包方式:pycharm打包为exe执行文件方法 总结 应用背景 背景:"由于工作需要可能需要对一些文件进行重命名的处理,但是可能操作起来比较烦,点错了就命名失败或者没带鼠标,用控制板操作起来比较麻烦等等场景" ps:以上都是200自我觉得比较烦,所以才出了这个小功能- 好了,此版本是基于上次文章的版本进行更新,(❕这次对上次的代码进行了更新,下文不会进行补充了哦,详细可以查看github上的源代码)详

  • 一篇文章教你掌握python数据类型的底层实现

    目录 1. 列表 1.1 复制 1.2 列表的底层实现 - 浅拷贝 1.3 浅拷贝 - 示例 1. 新增元素 2. 修改元素 3. 列表型元素 4. 元组型元素 5. 字典型元素 6. 小结 1.4 列表的底层实现 - 深拷贝 2. 字典 2.1 快速查找 2.2 字典的底层实现 1. 字典的创建过程 2. 字典的访问过程 2.3 小结 3. 字符串 4. 是否可变 不可变类型:数字,字符串,元组 可变类型:列表,字典,集合 总结 1. 列表 1.1 复制 浅拷贝 list_1 = [1, [2

  • 一篇文章教你学会使用Python绘制甘特图

    目录 优点 局限 一日一书 用来制作甘特图的专业工具也不少,常见的有:Microsoft Office Project.GanttProject.WARCHART XGantt.jQuery.Gantt.Excel等,网络上也有一些优质工具支持在线绘制甘特图. 可是这种现成的工具,往往也存在一些弊端,让编程人员不知所措.比如说,花里胡哨的UI,让人目不暇接,不知点哪个才好: 比如说,有些基于浏览器的图表需要掌握HTML.JS等编程语言,只会点Python的我直接被劝退: 再比如,进来就是注册.登

  • 教你使用python搭建一个QQ机器人实现叫起床服务

    目录 前言 具体实现 1.定时发送信息 2.让机器人陪女朋友聊天 3.调用一些有趣的接口 前言 上一篇文章介绍了怎么配置机器人框架,并且实现了一些简单的功能. (发送私聊或者群聊信息.接收上报的事件.简单的自动回复等等) 这次为了让QQ机器人更加智能,调用了一些实用的接口. 通过自己搭建的机器人实现定时叫女朋友起床.和女朋友聊天等功能. 如上图所示,我的机器人每天都会准时叫女朋友起床:并且在我忙的时候然而女朋友无聊的时候可以陪她聊一会天. 具体实现 以下实现的功能都需要机器人已经配置完成,并且已

  • 一篇文章教你使用SpringBoot如何实现定时任务

    前言 在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Quartz ,Spring Boot 源自 Spring+SpringMVC ,因此天然具备这两个 Spring 中的定时任务实现策略,当然也支持 Quartz,本文我们就来看下 Spring Boot 中两种定时任务的实现方式. 一.第一种方式:@Scheduled 使用 @Scheduled

  • 一篇文章教你学会js实现弹幕效果

    目录 新建一个html文件: 建好html文件,搞出初始模版 HTML添加 CSS填充 js逻辑代码 动画效果 下面是弹幕效果 : 相信小伙伴们都看过了,那么它实现的原理是什么呢,那么我们前端怎么用我们web技术去实现呢?? 新建一个html文件: 哈哈哈,大家别像我一样用中文命名. 中文命名是不合规范的,行走江湖,大佬们看见你的中文命名会笑话你的. 上图中,我们引入了jquery插件,没错我们用jq写,回归原始(找不到cdn链接的小伙伴可以百度bootcdn,在里面搜索jquery).并且取了

  • 一篇文章彻底弄懂Python字符编码

    目录 1. 字符编码简介 1.1. ASCII 1.2. MBCS 1.3. Unicode 2. Python2.x中的编码问题 2.1. str和unicode 2.2. 字符编码声明 2.3. 读写文件 2.4. 与编码相关的方法 3.建议 3.1.字符编码声明 3.2. 抛弃str,全部使用unicode. 3.3. 使用codecs.open()替代内置的open(). 3.4. 绝对需要避免使用的字符编码:MBCS/DBCS和UTF-16. 1. 字符编码简介 1.1. ASCII

随机推荐