1. #coding=utf-
  2. def showInfo():
  3. print("**************")
  4. print(" 学生管理系统")
  5. print(" 1.添加学生的信息")
  6. print(" 2.删除学生的信息")
  7. print(" 3.修改学生的信息")
  8. print(" 4.查询学生的信息")
  9. print(" 5.遍历所有学生的信息")
  10. print(" 6.退出系统")
  11. print("**************")
  12. students=[]
  13. while True:
  14. showInfo()
  15. #提示用户选择功能
  16. #获取用户选择的功能
  17. key=int(input("请选择功能(序号)"))
  18. if key==:
  19. print("您选择了添加学生信息功能")
  20. name=input("请输入学生姓名")
  21. stuId=input("请输入学生学号(学号不可重复)")
  22. age = input("请输入学生年龄:")
  23. ##验证学号是否唯一
  24. leap=
  25. for temp in students:
  26. if temp['id']==stuId:
  27. leap=
  28. break
  29. if leap == :
  30. print("输入学生学号重复,添加失败!")
  31. break
  32. else:
  33. # 定义一个字典,存放单个学生信息
  34. stuInfo = {}
  35. stuInfo['name'] = name
  36. stuInfo['id'] = stuId
  37. stuInfo['age'] = age
  38. # 单个学生信息放入列表
  39. students.append(stuInfo)
  40. print("添加成功!")
  41. elif key == :
  42. print("您选择了删除学生功能")
  43. delId=input("请输入要删除的学生学号:")
  44. #i记录要删除的下标,leap为标志位,如果找到leap=,否则为0
  45. i =
  46. leap =
  47. for temp in students:
  48. if temp['id'] == delId:
  49. leap =
  50. break
  51. else:
  52. i=i+
  53. if leap == :
  54. print("没有此学生学号,删除失败!")
  55. else:
  56. del students[i]
  57. print("删除成功!")
  58.  
  59. elif key == :
  60. print("您选择了修改学生信息功能")
  61. alterId=input("请输入你要修改学生的学号:")
  62. #检测是否有此学号,然后进行修改信息
  63. i =
  64. leap =
  65. for temp in students:
  66. if temp['id'] == alterId:
  67. leap =
  68. break
  69. else:
  70. i = i +
  71. if leap == :
  72. while True:
  73. alterNum=int(input(" 1.修改学号\n 2.修改姓名 \n 3.修改年龄 \n 4.退出修改\n"))
  74. if alterNum == :
  75. newId=input("输入更改后的学号:")
  76. #修改后的学号要验证是否唯一
  77. i =
  78. leap1 =
  79. for temp1 in students:
  80. if temp1['id'] == newId:
  81. leap1 =
  82. break
  83. else:
  84. i = i +
  85. if leap1 == :
  86. print("输入学号不可重复,修改失败!")
  87. else:
  88. temp['id']=newId
  89. print("学号修改成功")
  90. elif alterNum == :
  91. newName=input("输入更改后的姓名:")
  92. temp['name'] = newName
  93. print("姓名修改成功")
  94. elif alterNum == :
  95. newAge=input("输入更改后的年龄:")
  96. temp['age'] = newAge
  97. print("年龄修改成功")
  98. elif alterNum == :
  99. break
  100. else:
  101. print("输入错误请重新输入")
  102. else:
  103. print("没有此学号,修改失败!")
  104. elif key == :
  105. print("您选择了查询学生信息功能")
  106. searchID=input("请输入你要查询学生的学号:")
  107. #验证是否有此学号
  108. leap =
  109. for temp in students:
  110. if temp['id'] == searchID:
  111. leap =
  112. break
  113. if leap == :
  114. print("没有此学生学号,查询失败!")
  115. else:
  116. print("找到此学生,信息如下:")
  117. print("学号:%s\n姓名:%s\n年龄:%s\n"%(temp['id'],temp['name'],temp['age']))
  118. elif key == :
  119. #遍历并输出所有学生的信息
  120. print('*'*)
  121. print("接下来进行遍历所有的学生信息...")
  122. print("id 姓名 年龄")
  123. for temp in students:
  124. print("%s %s %s"%(temp['id'],temp['name'],temp['age']))
  125. print("*"*)
  126. elif key == :
  127. #退出功能,尽量往不退出的方向引
  128. quitconfirm = input("亲,真的要退出么 (yes或者no)??~~(>_<)~~??")
  129. if quitconfirm == 'yes':
  130. print("欢迎使用本系统,谢谢")
  131. break;
  132. else:
  133. print("您输入有误,请重新输入")

python简易版学生管理系统的更多相关文章

  1. python开发的学生管理系统

    python开发的学生管理系统(基础版) #定义一个函数,显示可以使用的功能列表给用户 def showInfo(): print("-"*30) print(" 学生管 ...

  2. python简易版微信或QQ轰炸

    ​ 在讲解代码之前我们先来回忆一下,平时我们发送消息时,先打开微信或QQ的界面,在信息栏中输入你要发送的内容在点击发送或通过快捷键发送.如果要发送表情时,先打开微信或QQ的界面,在点击表情包中你要发送 ...

  3. 期末Java Web大作业----简易的学生管理系统

    学生信息管理系统(大作业) 2018-12-21:此文章已在我的网站更新,添加视图介绍等信息,源码请移步下载https://www.jeson.xin/javaweb-sims.html PS:首先不 ...

  4. Python 简易版选课系统

    一.创建学生类 # # 创建学生类 import random class Student: def __init__(self,num,name,address,course_lst=None): ...

  5. Java 简化版学生管理系统(IO版)

    Student management system   学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...

  6. java版本的学生管理系统

    import java.awt.BorderLayout; import java.awt.Color; import java.awt.Frame; import java.awt.event.Ac ...

  7. Java写一个简单学生管理系统

    其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来 ...

  8. Java 图形界面开发--图文并茂建立学生管理系统

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...

  9. 学生管理系统(SSM简易版)总结

    之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...

随机推荐

  1. 【汇编】dosbox钢琴

    DATA SEGMENT msg DB 0DH,0AH,'[ 1 2 3 4 5 6 7 ]' DB 0DH,0AH,' [ q w e r t y u ]' DB 0DH,0AH,'________ ...

  2. Robot Framework(八) 资源和变量文件

    2.7资源和变量文件 测试用例文件和测试套件初始化文件中的用户关键字和变量只能在创建它们的文件中使用,但资源文件提供了共享它们的机制.由于资源文件结构非常接近测试用例文件,因此很容易创建它们. 变量文 ...

  3. Express+Nodejs 下的登录拦截实现

    Express+Nodejs 下的登录拦截实现 利用商城举例,在商城中没有登录之前,可以看商品列表.详情.登录或者注册都可以,但是购买的时候是不行的,那么这个功能在Node后台中是怎么实现的呢,这个功 ...

  4. 去掉二级页面 tabs 菜单, 修改返回按钮

    imports: [ /*引入的模块 依赖的模块*/ BrowserModule, ComponentsModule, IonicModule.forRoot(MyApp,{ tabsHideOnSu ...

  5. Lua循环结构while循环、repeat 循环、for循环_学习笔记03

    Lua循环结构while循环.repeat 循环.for循环 while语法结构 while 循环条件 do 循环体  end --1.输出1到100 index = do print(index) ...

  6. Linux内核tracepoints

    Linux内核tracepoints 简单介绍 内核中的每个tracepoint提供一个钩子来调用probe函数. 一个tracepoint可以打开或关闭.打开时,probe函数关联到tracepoi ...

  7. [tyvj1935 Poetize3]导弹防御塔 (二分图多重匹配)

    传送门 Description Freda控制着N座可以发射导弹的防御塔.每座塔都有足够数量的导弹,但是每座塔每次只能发射一枚.在发射导弹时,导弹需要T1秒才能从防御塔中射出,而在发射导弹后,发射这枚 ...

  8. Linux—Ubuntu14.0.5安装Redis

    1.前言 Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速.用Redis可以很轻松解决高并发的数据访问问题:做为时时监控信号处理也非常不错. ...

  9. 32.es读请示内部分发原理

    当客户端发送一次读请求时,大致会经过以下几个步骤 1.客户端发送一个请求过去,es的一个node接收到这个请求(随机的node),这个node就被es内部分配成coordinating node(协调 ...

  10. 游标后面select 带有in时

    今天遇到一个问题,使用游标时,在给游标填充值的时候,select  语句中带有 where查询条件,并且还有 in子句. 本来我是这样写的,试了很多次都不出结果,当然number in (304010 ...