python版学生管理系统


Posted in Python onJanuary 10, 2018

写一个学生管理系统,最好用python。

我都没学过python呢,只好开始临时抱佛脚,再到网上找找有没有例子看看,下面是我参照另一个博主写的,中间有一些和我不能融合的错误,我已经解决了。

input("\n\nPress the enter key to exit.")


def functionList(): # 定义功能菜单
 print("---------请输入序号选择您要得功能---------")
 print("")
 print("-" * 14 + "1.查看学生信息" + "-" * 14)
 print("-" * 42)
 print("-" * 14 + "2.增加学生信息" + "-" * 14)
 print("-" * 42)
 print("-" * 14 + "3.删除学生信息" + "-" * 14)
 print("-" * 42)
 print("-" * 14 + "4.修改学生信息" + "-" * 14)
 print("-" * 42)
 print("-" * 14 + "5.查找系统学生" + "-" * 14)
 print("-" * 42)
 print("-" * 14 + "6.返回到上一级" + "-" * 14)
 print("-" * 42)
 print("-" * 14 + "7.退出学生系统" + "-" * 14)
 print("")


def functionList2(): # 定义简单版功能菜单

 print("---1:查看----2:增加-----3:删除----4:修改----")
 print("-------5:查找-------6:返回------7:退出------")


def sexInputDebug(sexInput): # 检查性别输入是否正确
 if len(sexInput) == 1 and (sexInput.lower() == "m" or sexInput.lower() == "f"):
 return True
 else:
 return False


def ageInputDebug(ageInput): # 检查年龄输入是否正确
 if len(ageInput) == 2 and ageInput.isdigit() == True:
 return True
 else:
 return False


def IDInputDebug(IDInput): # 检查学号输入是否正确
 if len(IDInput) == 8 and IDInput.isdigit() == True:
 return True
 else:
 return False


def nameListFunction(): # 显示单个学生姓名信息
 nameList = []
 for i in range(len(studentList)):
 if studentList[i]["name"] not in nameList:
  nameList.append(studentList[i]["name"])
 return nameList


def findNameLocation(studentname): # 通过名字找到学生位置
 for j in range(len(studentList)):
 if studentList[j]["name"] == studentname:
  return j


def listFunction(): # 定义显示现有学生信息函数
 for i in range(len(studentList)):
 studentInfo = studentList[i]
 print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
 studentInfo["name"], studentInfo["sex"], studentInfo["age"], studentInfo["studentID"], studentInfo["extra"]))
 print("")


def addFunction(): # 定义增加学生函数

 while True:
 numInput =input("-----修改已经存在的学生备注请输入1\n-----------增加一个新的学生请输入2:")
 if numInput == "2":
  while True:
  nameNoExistAdd = input("请输入您要增加的名字:")

  nameList = nameListFunction()
  if nameNoExistAdd in nameList:
   print("%s在学生管理系统中已经存在" % nameNoExistAdd)
   print("")

  else:
   newStudent = {}
   newStudent["name"] = nameNoExistAdd
   while True:
   sexInput = input("----请输入%s的性别--f:man--m:women:" % nameNoExistAdd)
   if sexInputDebug(sexInput) == True:
    newStudent["sex"] = sexInput
    break
   else:
    print("输入有误,请重新输入!")
   while True:
   ageInput = input("-------请输入%s2位数字表示的年龄:" % nameNoExistAdd)
   if ageInputDebug(ageInput) == True:
    newStudent["age"] = ageInput
    break
   else:
    print("输入有误,请重新输入!")
   while True:
   IDInput = input("----------请输入%s的8位学号:" % nameNoExistAdd)
   if IDInputDebug(IDInput) == True:
    newStudent["studentID"] = IDInput
    break
   else:
    print("输入有误,请重新输入!")
   extraInput = input("----------请输入%s的备注:" % nameNoExistAdd)
   newStudent["extra"] = extraInput
   studentList.append(newStudent)
   print("--------------%s已经添加到学生管理系统" % nameNoExistAdd)
   print("")
   print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
   newStudent["name"], newStudent["sex"], newStudent["age"], newStudent["studentID"],
   newStudent["extra"]))
   break
  break
 elif numInput == "1":
  while True:
  nameExistAdd = input("------请输入您要修改备注的学生的名字:")
  nameList = nameListFunction()
  if nameExistAdd in nameList:
   extraExistAdd = input("-----------------请输入您要添加的备注:")
   j = findNameLocation(nameExistAdd)
   studentList[j]["extra"] = extraExistAdd
   print("---------------备注已经添加--------------")
   print("")
   print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
   studentList[j]["name"], studentList[j]["sex"], studentList[j]["age"], studentList[j]["studentID"],
   studentList[j]["extra"]))
   print("")
   break
  else:
   print("-----------------您输入的姓名不存在")
  break

 else:
  print("----------------您输入的信息不正确")


def delFunction(): # 定义删除学生的函数
 while True:
 nameDel = input("---------------请输入您要删除的名字:")
 studentNameList = nameListFunction()
 if nameDel in studentNameList:
  j = findNameLocation(nameDel)

  del studentList[j]
  print("-------------%s已经从学生管理系统中删除" % nameDel)
  print("")
  break
 else:
  print("------------------您要删除的名字不存在!")


def modifiFunction(): # 定义修改学生的函数
 while True:
 nameModifi = input("----------------请输入要修改的名字:")
 studentNameList = nameListFunction()
 if nameModifi in studentNameList:
  print("------------请选择要修改的内容-----------")
  print("--------------1:修改姓名---------------")
  print("--------------2:修改性别---------------")
  print("--------------3:修改年龄---------------")
  print("--------------4:修改学号---------------")
  print("--------------5:修改备注---------------")

  while True:
  choiceInput = input("请输入:")
  if choiceInput == "1":
   newNameInput = input("----------请输入新的姓名:")
   j = findNameLocation(nameModifi)
   studentList[j]["name"] = newNameInput
   print("------------姓名已经更新------------")
   print("")
   break
  elif choiceInput == "2":
   while True:
   newSexInput = input("----请输入新的性别--f:man--m:women---")
   if sexInputDebug(newSexInput) == True:
    j = findNameLocation(nameModifi)
    studentList[j]["sex"] = newSexInput
    print("-------------性别已经更新-------------")
    print("")
    break
   else:
    print("---------输入有误,请重新输入!---------")
   break
  elif choiceInput == "3":
   while True:
   newAgeInput = input("----------请输入新的年龄:")
   if ageInputDebug(newAgeInput) == True:
    j = findNameLocation(nameModifi)
    studentList[j]["age"] = newAgeInput
    print("------------年龄已经更新------------")
    print("")
    break
   else:
    print("----------入有误,请重新输入!-------")
   break
  elif choiceInput == "4":
   while True:
   newIDInput = input("----------请输入新的学号:")
   if IDInputDebug(newIDInput) == True:
    j = findNameLocation(nameModifi)
    studentList[j]["studentID"] = newIDInput
    print("------------学号已经更新------------")
    print("")
    break
   else:
    print("----------入有误,请重新输入!-------")
   break
  elif choiceInput == "5":
   newExtraInput = input("----------请输入新的备注:")
   j = findNameLocation(nameModifi)
   studentList[j]["extra"] = newExtraInput
   print("------------备注已经更新------------")
   print("")
   break
  else:
   print("---------输入有误,请重新输入!-------")
   print("")
  break
 else:
  print("-----------------您输入的名字不存在!")
  print("")


def searchFunction(): # 定义搜索学生的函数
 nameSearch = input("-------------请输入要查找的名字:")
 print("")
 nameList = nameListFunction()
 if nameSearch in nameList:
 print("-----------------%s在学生管理系统中-------------------" % nameSearch)
 print("")
 j = findNameLocation(nameSearch)
 print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
 studentList[j]["name"], studentList[j]["sex"], studentList[j]["age"], studentList[j]["studenID"],
 studentList[j]["extra"]))
 print("")
 else:
 print("----------------%s不在学生管理系统中-----------------" % nameSearch)
 print("")
 # 默认学生信息系统内容


studentList = [{"name": "Frank", "sex": "f", "age": 33, "studentID": "312312", "extra": ""},
  {"name": "Jane", "sex": "m", "age": 45, "studentID": "324235", "extra": ""}]

# 函数主体
print("-" * 11 + "欢迎来到学生管理系统" + "-" * 11)
print("")
print("")
functionList()
while True: # 进入循环,根据序号选择操作
 userInput = input("----------------请输入您要选择的功能序号:")
 print("")

 if userInput == "1": # 显示现有学生和返回
 listFunction()
 functionList2()
 continue
 elif userInput == "2": # 使用增加函数和返回
 addFunction()
 functionList2()
 continue
 elif userInput == "3": # 使用删除函数和返回
 delFunction()
 functionList2()
 continue
 elif userInput == "4": # 使用修改函数和返回
 modifiFunction()
 functionList2()
 continue
 elif userInput == "5": # 使用搜索函数和返回
 searchFunction()
 functionList2()
 continue
 elif userInput == "6": # 返回功能列表
 functionList()
 continue
 elif userInput == "7": # 退出
 break
 else:
 print("----------输入有误,请重新输入!----------")

以下就是运行后的结果:

python版学生管理系统

python版学生管理系统

具体内容实现我还要研究研究,不过这个代码亲测已经可以运行了,小伙伴可以copy了。

过程中遇到的问题:

1. raw_input:我用的是3x的pyCharm,和2x的区别就在于不识别 raw_input,而要使用input。

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

Python 相关文章推荐
python网络编程学习笔记(四):域名系统
Jun 09 Python
Python3基础之基本运算符概述
Aug 13 Python
Python常用的爬虫技巧总结
Mar 28 Python
python编码总结(编码类型、格式、转码)
Jul 01 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
Python使用正则表达式实现文本替换的方法
Apr 18 Python
Django中自定义查询对象的具体使用
Oct 13 Python
Python用input输入列表的实例代码
Feb 07 Python
Python字符串格式化f-string多种功能实现
May 07 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 Python
python实现用户管理系统
Jan 10 #Python
python的Tqdm模块的使用
Jan 10 #Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 #Python
Python设计模式之MVC模式简单示例
Jan 10 #Python
Python设计模式之命令模式简单示例
Jan 10 #Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 #Python
Python之多线程爬虫抓取网页图片的示例代码
Jan 10 #Python
You might like
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
浅谈PHP封装CURL
2019/03/06 PHP
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
Python中非常实用的一些功能和函数分享
2015/02/14 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python3 max()函数基础用法
2019/02/19 Python
Python如何实现转换URL详解
2019/07/02 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
Python jieba库用法及实例解析
2019/11/04 Python
SQL语言面试题
2013/08/27 面试题
会计专业毕业生求职信分享
2014/01/03 职场文书
留学推荐信怎么写
2014/01/25 职场文书
超市采购员岗位职责
2014/02/01 职场文书
感恩节红领巾广播稿
2014/02/11 职场文书
cf战队收人口号
2014/06/21 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
旗帜观后感
2015/06/08 职场文书
python小程序之飘落的银杏
2021/04/17 Python
解析redis hash应用场景和常用命令
2021/08/04 Redis