1. '''
  2. # 学生管理系统v1.0
  3. # 添加学生的信息
  4. # 删除学生的信息
  5. # 修改学生的信息
  6. # 查看学生的信息
  7. #遍历学生的信息
  8. #退出系统
  9. '''
  10. import json
  11. #1 显示操作功能
  12. def showinfo():
  13. print('*'*40)
  14. print("\t  欢迎使用学生管理系统V1.0")
  15. print("1.添加学生的信息")
  16. print("2.删除学生的信息")
  17. print("3.修改学生的信息")
  18. print("4.查询学生的信息")
  19. print("5.遍历所有学生的信息")
  20. print("6.退出系统")
  21. print('*' * 40)
  22.  
  23. students = []
  24.  
  25. def add_student():
  26. print("您选择了添加学生信息功能!")
  27. ID = input("请输入学生学号:")
  28. name = input("请输入学生姓名:")
  29. age = input("请输入学生年龄:")
  30. sex = input("请输入学生性别:")
  31. if len(students) == 0:
  32. stu_info = {}
  33. stu_info["ID"] = ID
  34. stu_info["name"] = name
  35. stu_info["age"] = age
  36. stu_info["sex"] = sex
  37. students.append(stu_info)
  38. print("学生%s添加成功" % stu_info)
  39. else:
  40. for i in students:
  41. if i["ID"] == ID:
  42. print("学号重复,请查询后在进行添加!")
  43. break
  44. else:
  45. stu_info = {}
  46. stu_info["ID"] = ID
  47. stu_info["name"] = name
  48. stu_info["age"] = age
  49. stu_info["sex"] = sex
  50. students.append(stu_info)
  51. print("学生%s添加成功"%stu_info)
  52. save_students()
  53. main()
  54.  
  55. def alter_student():
  56. print("欢迎使用修改学生信息功能!")
  57. ID = input("请输入需要修改学生的学号:")
  58. leap = 0
  59. for i in students:
  60. if i["ID"] == ID:
  61. alter_ID = input("请输入修改后的学号:")
  62. for i in students:
  63. if i["ID"] == alter_ID:
  64. print("学号重复,请查询后在进行修改!")
  65. leap = 1
  66. break
  67. if leap != 1:
  68. alter_name = input("请输入修改后的名字:")
  69. alter_sex = input("请输入修改后的性别:")
  70. alter_age = input("请输入修改后的年龄:")
  71. i["ID"] = alter_ID
  72. i["name"] = alter_name
  73. i["age"] = alter_age
  74. i["sex"] = alter_sex
  75. save_students()
  76. else:
  77. print("查无此人,请查询后在进行修改!")
  78. break
  79. main()
  80.  
  81. def del_student():
  82. print("您选择了删除学生信息功能!")
  83. ID = input("请输入需要删除学生的学号:")
  84. for i in students:
  85. if i['ID'] == ID:
  86. print("学生%s删除成功"%i)
  87. del students[students.index(i)]
  88. save_students()
  89. break
  90. else:
  91. print("输入的学号有误,请查询后重试!")
  92. main()
  93.  
  94. def inquire_student():
  95. print("欢迎使用学生查询功能:")
  96. inquire_ID = input("请输入查询学生学号:")
  97. for i in students:
  98. if i["ID"] == inquire_ID:
  99. print('查询学生信息如下',end="\n")
  100. print("学号:%s\t姓名:%s\t年龄:%s\t性别:%s"%(i["ID"],i["name"],i["age"],i["sex"]))
  101. else:
  102. print("查无此人")
  103. main()
  104.  
  105. def exit_student():
  106. print("真的要退出么?")
  107. demo = str(input("输入yes退出,输入no不退出:"))
  108. demo=demo.lower()
  109. if demo == "yes":
  110. return
  111. elif demo == "no":
  112. main()
  113. else:
  114. print("输入有误,重新输入")
  115. exit_student()
  116.  
  117. def show_student():
  118. print("欢迎使用遍历学生的信息功能")
  119. for i in students:
  120. print("学号:%s\t姓名:%s\t年龄:%s\t性别:%s" % (i["ID"], i["name"], i["age"], i["sex"]))
  121. main()
  122.  
  123. def select(key):
  124. if key == 1:
  125. add_student()
  126. elif key == 2:
  127. del_student()
  128. elif key == 3:
  129. alter_student()
  130. elif key == 4:
  131. inquire_student()
  132. elif key == 5:
  133. show_student()
  134. elif key == 6:
  135. exit_student()
  136. else:
  137. print("输入有误,请重新输入!")
  138.  
  139. def save_students():
  140. file = json.dumps(students,ensure_ascii=False)
  141. with open('students.txt','w+',encoding='utf-8') as f:
  142. f.write(file)
  143.  
  144. def main():
  145. showinfo()
  146. key = int(input("请选择您要进行的操作(序号):"))
  147. select(key)
  148.  
  149. if __name__ == '__main__':
  150. main()

  运行结果:

<每日一题>题目7:简单的学生管理系统V1.0的更多相关文章

  1. <每日一题>题目16:简单的python练习题(1-10)

    #1.python程序中__name__的作用是什么? __name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用), ...

  2. <每日一题>题目1:简单的注册和登录1.0

    #版本1.0,最基本的注册登录'''1.注册,将账号和密码分别写在不同的文档里面2.登录,分别从账户文档和密码文档进行读取并登录''' #注册 Identity = input("请输入您想 ...

  3. Python连接SqlServer+GUI嵌入式——学生管理系统1.0

    学生管理系统1.0 1.建学生数据库 2.数据库嵌入高级语言(Python) 3.界面设计 简化思路: 1.先通过SqlServer2012建立学生数据库,包括账号.密码,姓名.选课等信息 2.运用P ...

  4. php实现简单的学生管理系统

    php实现学生管理系统 一.效果 二.代码框架 functions文件夹里面是封装的mysqli的数据库操作函数和一个跳转的函数 student文件夹里面就是学生管理系统的主界面 applicatio ...

  5. Java实现功能简单的学生管理系统(附带源代码)

    这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 ...

  6. 面向对象案例 - 学生信息管理系统V1.0

    学生管理系统项目[所有知识点整合] 1. 学生管理系统项目 尝试完成以下功能 实体类: 学生类: id, 姓名,年龄,性别,成绩 需要使用数组保存学生信息 Student[] allStu 需要完成的 ...

  7. <每日一题>题目21:简单的python练习题(21-30)

    #21.cookie和session的区别 ''' 1.cookie数据存放在客户的浏览器上,session数据存放在服务器上 2.cookie不是很安全,可以通过分析本地cookie组成伪造cook ...

  8. <每日一题>题目20:简单python练习题(11-20)

    #11.编写程序,输入一个自然数,输出它的二进制.八进制.十六进制表示形式 Num = input("请输入任性自然数:") Num = eval(Num) print(" ...

  9. <每日一题>题目12:列表解析及zip、dict函数的简单应用

    ''' 分析: 1.列表解析:迭代机制的一种应用 语法: [expression for iter_val in iterable] [expression for iter_val in itera ...

随机推荐

  1. 《创新者》读书笔记 PB16110698 第五周(~4.5)

    本周我阅读了某同学推荐的<创新者>,这本书实际上是两个世纪以来信息技术的编年史,从巴贝奇的差分机到如今互联网时代的超级计算机,作者通过各个时代里一位位杰出的创新者,将计算机诞生.发展.崛起 ...

  2. JS对象 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

    返回指定的字符串首次出现的位置 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(substring, startpos) 参 ...

  3. SVN 分支操作

    一  拉取分支 1 选择浏览 2 输入svn项目路径:https://IP/svn/ 3 选择拉取的项目 4 下载到本地路劲 右键选中的分支—CheckOut 选择本地路劲 二 分支合并 1 分支合并 ...

  4. Python全栈开发:django网络框架(一)

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  5. JS去除字符串拼接末尾的符号(逗号)

    前言:在JS中,有时需要进行字符串的拼接,而拼接的字符串以某种符号分隔,在拼接好的字符串末尾会多出一个分隔符,这时我们可以采取以下几种方法来去除末尾的分隔符. 方法一:使用substring()  和 ...

  6. sql (3) where

    WHERE 子句用于规定选择的标准.语法SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 引号的使用请注意,我们在例子中的条件值周围使用的是单引号. SQL 使用单引号来环绕文本值( ...

  7. CF475F meta-universe

    题意:给你一个无限大矩形中有一些planet,每次可以选择某一没有planet的行或列分割开矩形(分割开以后要求矩形不为空).问最后能分割成几个矩形? 标程: #include<bits/std ...

  8. windows cmd command

    ////////////////// ===>windows + r //gpedit.msc 用户组策略 ///////////////// ===>cmd //ping www.bai ...

  9. thinkphp DEFINED标签

    DEFINED标签用于判断某个常量是否有定义,用法如下: 大理石平台检验标准 <defined name="NAME"> NAME常量已经定义 </defined ...

  10. Ros node启动与关闭

    1. ros运行单位: Ros程序运行的单位是ros node. 2. ros 节点的启动: (1)初始化ros节点:通过调用ros::init()接口实现:可以通过参数指定默认节点名字,之所以是默认 ...