# 编写一个“学生信息管理系统”
# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)
# 2. 查询:输入学生姓名和id,显示学生个人信息
# 3. 修改:输入学生姓名或者id,可以对学生信息进行修改
# 4. 删除:输入学生姓名或者id,删除对应学生信息 代码如下:::
def increase():
student = [input("学号:"), input("姓名:"), input("年龄:"), input("性别:")]
students.append(student) def query():
s = input("输入学生学号或姓名:")
if s.isdigit() == True:
id = s
# enumerate()是python的内置函数、适用于python2.x和python3.x
# enumerate在字典上是枚举、列举的意思
# enumerate参数为可遍历/可迭代的对象(如列表、字符串)
# enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
for station, item in enumerate(students):
if id in item:
print("此学生信息为:", item)
break
if station + 1 == len(students):
print("查无此人")
else:
name = s
for station, item in enumerate(students):
if name in item:
print("此学生信息为:", item)
break
if station + 1 == len(students):
print("查无此人") def modify():
s = input("输入学生学号或姓名:")
if s.isdigit() == True:
id = s
for item in students:
if id in item:
print(item)
while 1:
print("--选择修改具体信息--")
n = int(input("请输入要进行的操作序号:1.学号 2.姓名 3.年龄 4.性别"))
if n == 1:
item[0] = input("输入修改后的学号:")
elif n == 2:
item[1] = input("输入修改后的姓名:")
elif n == 3:
item[2] = input("输入修改后的年龄:")
else:
item[3] = input("输入修改后的性别:")
print("--修改完成--")
break
else:
name = s
for item in students:
if name in item:
print(item)
while 1:
print("--选择修改具体信息--")
n = int(input("请输入要进行的操作序号:1.学号 2.姓名 3.年龄 4.性别"))
if n == 1:
item[0] = input("输入修改后的学号:")
elif n == 2:
item[1] = input("输入修改后的姓名:")
elif n == 3:
item[2] = input("输入修改后的年龄:")
else:
item[3] = input("输入修改后的性别:")
print("--修改完成--")
break
def remove():
s = input("输入学生学号或姓名:")
if s.isdigit() == True:
id = s
for item in students:
if id in item:
i = students.index(item)
del(students[i])
else:
name = s
for item in students:
if name in item:
i = students.index(item)
del(students[i]) if __name__ == '__main__': students = [["", "王二麻子", "", "女"], ["", "张三", "", "男"]]
while 1:
print("-----------------------进入主界面--------------------------")
print("---------------1.增加 2.查询 3.修改 4.删除-----------------")
n = int(input("请输入:"))
if n == 1:
increase() #调用增加函数
elif n == 2:
query() #调用查询函数
elif n == 3:
modify() #调用修改函数
else:
remove() #调用删除函数
print(students)
print("-----------------------------------------------------------")

运行结果如下:

-----------------------进入主界面--------------------------
---------------1.增加 2.查询 3.修改 4.删除-----------------
请输入:1
学号:3
姓名:李四
年龄:17
性别:男
[['', '王二麻子', '', '女'], ['', '张三', '', '男'], ['', '李四', '', '男']]
-----------------------------------------------------------
-----------------------进入主界面--------------------------
---------------1.增加 2.查询 3.修改 4.删除-----------------
请输入:2
输入学生学号或姓名:2
此学生信息为: ['', '张三', '', '男']
[['', '王二麻子', '', '女'], ['', '张三', '', '男'], ['', '李四', '', '男']]
-----------------------------------------------------------
-----------------------进入主界面--------------------------
---------------1.增加 2.查询 3.修改 4.删除-----------------
请输入:3
输入学生学号或姓名:3
['', '李四', '', '男']
--选择修改具体信息--
请输入要进行的操作序号:1.学号 2.姓名 3.年龄 4.性别2
输入修改后的姓名:周五
--修改完成--
[['', '王二麻子', '', '女'], ['', '张三', '', '男'], ['', '周五', '', '男']]
-----------------------------------------------------------
-----------------------进入主界面--------------------------
---------------1.增加 2.查询 3.修改 4.删除-----------------
请输入:4
输入学生学号或姓名:3
[['', '王二麻子', '', '女'], ['', '张三', '', '男']]
-----------------------------------------------------------

还有许多可以优化的地方,等我继续学习一下哈哈

python3 简陋的学生信息管理系统的更多相关文章

  1. 【JAVA】简陋的学生信息管理系统

    因为之前写了一个学生信息管理系统,但还是处于命令行界面,不美观,于是打算做一个完整的界面出来. 在网上查阅资料后发现C++本身是不支持图形化界面的(可以使用第三方的Qt来做) 权衡之下还是选择了JAV ...

  2. 【Python3.6+Django2.0+Xadmin2.0系列教程之二】学生信息管理系统(入门篇)

    上一篇我们已经创建好了一个Xadmin的基础项目,现在我们将在此基础上构建一个同样很基础的学生信息管理系统. 一.创建模型 模型是表示我们的数据库表或集合类,并且其中所述类的每个属性是表或集合的字段, ...

  3. 【Python3.6+Django2.0+Xadmin2.0系列教程之三(入门篇-下)】学生信息管理系统

    上一篇我们已经初步的构建起了一个学生管理系统的模型,现在接着来继续完善它吧. 1.上传图片/文件等资源 有时候需要添加一些附件,例如,新生刚入学,大家相互之间还不熟悉,希望能通过照片来加深印象,并且方 ...

  4. Java课设(学生信息管理系统)

    1.团队课程设计博客链接 http://www.cnblogs.com/Min21/p/7064093.html 2.个人负责模板或任务说明 设计登陆界面和学生信息界面的设计,学生信息的显示.退出等功 ...

  5. 基于数据库MySQL的简易学生信息管理系统

    通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...

  6. C++ 简单的学生信息管理系统

    // // main.cpp // 2013-7-17作业1 // // Created by 丁小未 on 13-7-17. // Copyright (c) 2013年 dingxiaowei. ...

  7. 学生信息管理系统v1.0

    昨天一个教师朋友找到我,告诉我现在学期末他工作比较忙.需要统计处理很多学生信息,想让我帮他做一个管理系统.实现的功能就是把WPS表格转化成Word文档,将每一个学生的信息都能够分开,并且要根据名字找到 ...

  8. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  9. 学生信息管理系统应用ios源码iPad版

    学生信息管理系统应用iPad版,该应用源码比较完整的,而且也很详细,这也是一款学校用的学生和老师管理系统,里面涉及到了很多ipad常用的控件,操作和数据存储. <ignore_js_op> ...

随机推荐

  1. BDD的概念

    BDD的概念Behavior-Driven Development (BDD) is a set of software engineering practices designed to help ...

  2. planning algorithms chapter 2

    planning algorithms chapter 2 :Discrete Planning 离散可行规划导论 问题定义 在离散规划中,状态是"可数"的,有限的. 离散可行规划 ...

  3. 【Gamma】Scrum Meeting 5

    目录 写在前面 进度情况 任务进度表 照片 写在前面 例会时间:6.1 22:45-23:00 例会地点:微信群语音通话 代码进度记录github在这里 临近期末,团队成员课程压力均较大,需要较多时间 ...

  4. ThreadPoolExecutor的坑

    ExecutorService executorService = new ThreadPoolExecutor(0, MAX_THREAD_NUM, 60, TimeUnit.SECONDS, ne ...

  5. 【转】目前为止最透彻的的Netty高性能原理和框架架构解析

    转自:https://zhuanlan.zhihu.com/p/48591893 1.引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器 ...

  6. Unity2019.1中文技术手册离线版

    使用离线版优质.系统化的教程.经验文档.参考手册,为开发者节省时间,提高效率! 解压后打开UnityDocumentation_2019.1/Manual/index.html 需要的自取,下载地址: ...

  7. ERROR: type "sum" does not exist

    开发问pg中执行一个简单的语句,多次报错: > ERROR: type "sum" does not exist LINE 1: SELECT SUM ^ 看看具体的语句,其 ...

  8. Android硬编码——音频编码、视频编码及音视频混合

    视频编解码对许多Android程序员来说都是Android中比较难的一个知识点.在Android 4.1以前,Android并没有提供硬编硬解的API,所以之前基本上都是采用FFMpeg来做视频软件编 ...

  9. vue---引入外部样式

    在用 vue-cli 进行项目开发的时候,经常会遇到要引入外部的样式,那该怎么做的呢? 示例:使用 import 引入 scss import variables from '@/assets/sty ...

  10. 在线visio软件,在线流程图软件,在线绘图、在线画图

    1. https://www.bullmind.com/ 推荐bullmind的在线visio软件,一种低成本的Visio替代品.bullmind是基于 网络的绘图工具,具有出色图表功能.您可以使用b ...