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

作者:玫瑰花店 时间:2022-01-22 16:25:05 

片头

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("输入无用序号,请输入菜单前序号。")

来源:https://blog.csdn.net/qq_42695024/article/details/120204214

标签:Python,管理系统
0
投稿

猜你喜欢

  • Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法

    2023-09-04 23:12:41
  • js Array的用法总结

    2024-04-25 13:08:26
  • oracle常用sql语句

    2010-07-23 13:27:00
  • SQL对时间处理的语句小结

    2011-12-01 07:53:04
  • Python实现的简单hangman游戏实例

    2021-04-11 19:26:47
  • idea+git合并分支解决冲突及详解步骤

    2022-10-07 00:18:27
  • Go语言通道之无缓冲通道

    2024-04-25 15:25:57
  • 解决PyCharm import torch包失败的问题

    2023-12-05 14:27:24
  • 利用Pytorch实现获取特征图的方法详解

    2023-09-11 16:16:02
  • 段正淳的css笔记(7)-表单在各浏览器的表现统一

    2008-01-14 02:47:00
  • 阿里云 Centos7.3安装mysql5.7.18 rpm安装教程

    2024-01-25 07:04:54
  • 数据库性能优化三:程序操作优化提升性能

    2024-01-14 08:58:49
  • Node.js使用NodeMailer发送邮件实例代码

    2024-05-02 17:37:10
  • PHP设计模式 注册表模式(多个类的注册)

    2023-11-20 06:45:13
  • jquery加载页面的方法(页面加载完成就执行)

    2024-04-23 09:10:11
  • Golang并发编程之Channel详解

    2024-05-09 14:58:42
  • 关于Python自动化操作Excel

    2022-07-19 23:25:48
  • 如何改良你的CSS代码编写结构

    2008-09-29 16:03:00
  • 解析PHP中一些可能会被忽略的问题

    2023-09-05 14:07:37
  • ASP程序员面试题

    2011-09-15 20:51:20
  • asp之家 网络编程 m.aspxhome.com