python学生管理系统的实现

本文实例为大家分享了python学生管理系统的具体代码,供大家参考,具体内容如下

```name_list = [] # 存储学生信息字典,学生信息用字典存,再用列表存储字典

# 菜单
def display_menu():
 print("-"*30)
 print(" 学生管理系统 v8.8 ")
 print("1.添加学生信息")
 print("2.删除学生信息")
 print("3.修改学生信息")
 print("4.查询单个学生信息")
 print("5.查询所有学生信息")
 print("6.退出系统")
 print("-"*30)

# 选择序号的获得
def get_choice():
 selected_key = input("请输入选择的序号:")
 return selected_key

# 检查性别是否合法
def check_sex(new_sex):
 flag = True
 while flag:
 if new_sex == '男' or new_sex == '女':
  flag = False
 else:
  new_sex = input("输入性别有误,请重新输入(男/女):")
 return new_sex

# 检查电话号码是否合法
def check_phone(new_phone):
 flag = True
 while flag:
 if new_phone.isdigit():
  flag = False
 else:
  new_phone = input("您输入的电话号码有误,请重新输入:")
 return new_phone

# 检查学号是否重复或者有误
def check_id(new_id):
 flag = True
 while flag:
 # 先检查是不是纯数字再去考虑是否重复的事情,如果不是纯数字直接pass
 if new_id.isdigit():
  for i in range(len(name_list)):
  if name_list[i]['id'] == new_id:
   new_id = check_id(input("您输入的学号重复,请重新输入:"))
  flag = False
 else:
  new_id = input("您输入的学号有误,请重新输入:")
 return new_id

# 添加学生信息
def add_name():
 new_info = {}
 new_id = check_id(input("请输入学号:"))
 new_info['id'] = new_id
 new_name = input("请输入姓名:")
 new_info['name'] = new_name
 new_sex = check_sex(input("请输入性别(男/女):"))
 new_info['sex'] = new_sex
 new_phone = check_phone(input("请输入电话号码:"))
 new_info['phone'] = new_phone
 name_list.append(new_info)
 print("添加成功!")

# 查询所有学生信息
def find_all():
 print("="*30)
 for name in name_list:
 print(name['id'], name['name'], name['sex'], name['phone'])
 print("=" * 30)

# 删除学生信息
def del_name():
 del_id_is = input("请输入要删除的学生学号:")
 flag = False
 index = 0
 for i in range(len(name_list)):
 if name_list[i]['id'] == del_id_is:
  flag = True
  index = i
  break
 if flag:
 name_list.pop(index)
 print("删除成功!")
 else:
 print("学生未找到!请检查学号输入是否有误!")

# 名字修改细节函数
def choice_of_name(index):
 while True:
 choice = input("请输入要修改学生的(1.id 2.姓名 3.性别 4.电话号码,5.全部修改):")
 if choice == '5':
  new_id = input("请输入新的学号:")
  name_list[index]['id'] = new_id
  new_name = input("请输入新的姓名:")
  name_list[index]['name'] = new_name
  new_sex = check_sex(input("请输入性别(男/女):"))
  name_list[index]['sex'] = new_sex
  new_phone = check_phone(input("请输入电话号码:"))
  name_list[index]['phone'] = new_phone
  break
 elif choice == '1':
  new_id = input("请输入新的学号:")
  name_list[index]['id'] = new_id
  break
 elif choice == '2':
  new_name = input("请输入新的姓名:")
  name_list[index]['name'] = new_name
  break
 elif choice == '3':
  new_sex = check_sex(input("请输入性别(男/女):"))
  name_list[index]['sex'] = new_sex
  break
 elif choice == '4':
  new_phone = check_phone(input("请输入电话号码:"))
  name_list[index]['phone'] = new_phone
  break
 else:
  print("输入有误,请重新输入!")

# 修改学生信息
def re_name():
 id_is = input("请输入要修改的学生学号:")
 flag = False
 index = 0
 # 先找到要修改的学生的下标
 for i in range(len(name_list)):
 if name_list[i]['id'] == id_is:
  flag = True
  index = i
  break
 if flag:
 choice_of_name(index)
 print("修改成功!")
 else:
 print("修改失败,学生信息未找到!")

# 查询单个学生信息
def find_name():
 find_id_is = input("请输入要查询的学生学号:")
 flag = False
 index = 0
 for i in range(len(name_list)):
 if name_list[i]['id'] == find_id_is:
  flag = True
  index = i
  break
 if flag:
 print("学生查询到,学生信息为:")
 print(name_list[index]['id'], name_list[index]['name'], name_list[index]['sex'], name_list[index]['phone'])
 else:
 print("学生未找到!")

def main():
 exit_name = True
 while exit_name:
 display_menu()
 key = get_choice()
 if key == '1':
  add_name()
 elif key == '2':
  del_name()
 elif key == '3':
  re_name()
 elif key == '4':
  find_name()
 elif key == '5':
  find_all()
 elif key == '6':
  exit_name = False
 else:
  print("请输入正确的数值!")

main()

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python学生信息管理系统

    本文实例为大家分享了python学生信息管理系统的具体代码,供大家参考,具体内容如下 #编译环境为python3 #学生信息管理系统包括基本的信息功能,能够实现学生信息的输入,查询,增添和删除 #基本框架:开始操作菜单,接收输入选项,调用相应的函数实现对应的功能,循环回到开始菜单, #操作菜单: student = [] def studentMeau(): print('-'*30) print('-------学生信息管理系统-------') print(' 1.添加学生信息') prin

  • python图书管理系统

    本文实例为大家分享了python图书管理系统的具体代码,供大家参考,具体内容如下 实现语言:python 图形框架:DTK+2.0 数据库框架:SQLite 3.0 本程序需要以下部件运行: Python2.5.0.GTK+2.16.Pygtk 2.16.PyGobject 2.14.Pycairo 1.4 LibiaryManager.py #!/usr/bin/python # -*- coding: utf-8 -*- import pygtk pygtk.require('2.0') i

  • python学生信息管理系统(完整版)

    本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能. 主要包括有: 完善部分:输入错误:无数据查询等异常错误 新的功能:文件的操作:文件的读写,其中重点是对文本字符串的详细解析(关于整个解析拆解和重组详见代码,以及添加了注释) 学生信息管理系统(完整版) 学生信息管理项目,要求带操作界面,并完成每项操作: +----------------------+ | 1)添加学生信息 | | 2)显示所有学生的信息 | | 3)删除学生信息 | | 4)修改学生

  • Python实现学生成绩管理系统

    本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student文件里面. 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上. 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面. 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除. 按学生成绩进行排

  • python实现学生信息管理系统

    继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有 1.学生信息的录入管理: 2.学生选课操作: 3.学生选课情况查询: 这次仍然用到sqlite3模块.虽然看着挺简单,但是也踩了不少坑,毕竟刚开始实战,有些细节的还需要多多磨炼啊! 好了,废话不多说,直接上代码,欢迎感兴趣的朋友私信讨论~~~ #-*- coding:utf-8 -*- import sqlite3 #打开本地数据库用于存储用户信息 conn = sqlite3.connect('st

  • Python实现GUI学生信息管理系统

    本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境:  软件环境: OS:RedHat6.3                   Lib:Pygtk                   Language:Python                   Support tool:Glade3 项目简述: ①Glade3设计用户的登录窗口,功能主窗口 ②通过Gtk.Builder初始化,载入界面 ③在Mysql.py文件中实现Python操作数

  • Python学生成绩管理系统简洁版

    讲起学生成绩管理系统,从大一C语言的课程设计开始,到大二的C++课程设计都是这个题,最近在学树莓派,好像树莓派常用Python编程,于是学了一波Python,看了一点基本的语法想写点东西练下手. 开发环境:Ubuntu+Python2.7 代码如下: #coding=utf-8 #保存学生信息 studentList=[] def addInfo(name,addr): tempInfo={} tempInfo['name']=name tempInfo['addr']=addr student

  • python实现图书管理系统

    本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 import mysql.connector import sys, os import time import datetime from tkinter import * from tkinter.messagebox import * class Libop: user = 'root' pwd = '' host = 'localhost' db = 'library' data_file = 'mys

  • python实现外卖信息管理系统

    本文为大家分享了python实现外卖信息管理系统的具体代码,供大家参考,具体内容如下 一.需求分析 需求分析包含如下: 1.问题描述 以外卖信息系统管理员身份登陆该系统,实现对店铺信息.派送员信息.客服人员信息.订单信息.配送信息等进行有条件查询以及信息的录入.修改.删除等功能. 2.系统功能描述 (1)信息录入:使用wxpython设计排版编写窗口界面,给出录入信息的接口,通过python语句实现与数据库的连接,从而向数据库中插入相应数据. (2)信息修改:使用wxpython设计排版编写窗口

  • python3.6+django2.0开发一套学员管理系统

    1.在pycharm中新建project demo1 添加app01 点击create按钮完成新建 2.在demo项目目录下新建目录static,并在settings.py中追加代码: STATICFILES_DIRS=(os.path.join(BASE_DIR, 'static'),) 3.在setting.py中添加模板路径: TEMPLATES = [ { 'BACKEND': '...', 'DIRS': [os.path.join(BASE_DIR, 'templates'),],

随机推荐