1 #!usr/bin/python
2 #encoding=utf-8
3
4 #1. 打印学生管理系统界面
5 def printStd():
6 print ("*"*50)
7 print(" 学生管理系统V0.1 ")
8 print(" 1.添加学生信息")
9 print(" 2.查找学生信息")
10 print(" 3.删除学生信息")
11 print(" 4.遍历学生信息")
12 print(" 5.修改学生信息")
13 print(" 6.退出学生信息")
14 print ("*"*50)
15 choice = input("请输入需要办理业务的序号:")
16 if choice <= 6 and choice > 0:
17 return choice
18 else:
19 print("输入有误,请重新输入")
20 printStd()
21 #2.选择功能:新增、查找、删除、修改、遍历、退出
22 #2.1 选择菜单
23 def makeChoice(choice):
24 if choice == 1:
25 addStd()
26 elif choice ==2:
27 findStd()
28 elif choice == 3:
29 delStd()
30 elif choice ==4:
31 showStd()
32 elif choice ==5:
chgStd()
34 elif choice ==6:
35 exitStd()
36 else:
37 print ("输入有误,请重新输入需要办理业务的序号,谢谢!")
38 printStd()
39 #2.2 添加学生信息
40 def addStd():
41 stdName = raw_input("请输入学生姓名:")
42 stdId = input("请输入学生学号:")
43 stdAge = input("请输入学生年龄:")
44 stdList = {}
45 stdList['Name'] = stdName
46 stdList['Id'] = stdId
47 stdList['Age'] = stdAge
48 std.append(stdList)
49 print("%-20s%s%15s"%('姓名:','学号:','年龄:'))
50 for temp in std:
51 print("%-20s%d%15d"%(temp['Name'],temp['Id'],temp['Age']))
52 #2.3 查找学生信息
53 def findStd():
54 #stdName = raw_input("请输入需要查找的学生姓名:")
55 stdId = input("请输入需要查找学生的学号:")
56 flag = 0
57 for temp in std:
58 if stdId == temp['Id']:
59 flag = 1
60 break
61 else:
62 continue
       if flag == 1:
64 print("您要查找的学生信息如下:\n姓名:%s 学号:%d 年龄:%d"%(temp['Name'],temp['Id'],temp['Age']))
65 else:
66 print("很抱歉,系统不存在该学生信息!")
67
68 #2.4 删除学生信息
69 def delStd():
70 stdId = input("请输入需要删除学生的学号:")
71 flag = 0
72 for temp in std:
73 if stdId == temp['Id']:
74 indexId = std.index(temp)
75 flag = 1
76 break
77 else:
78 continue
79 if flag ==1:
80 assure = raw_input ("确认是否删除?(yes or no):")
81 if assure == "yes":
82 del std[indexId]
83 print("恭喜您已成功删除该新学生了!")
84 else:
85 print("您放弃删除该学生信息了!")
86 else:
87 print("很抱歉,系统不存在该学生信息!")
88
89 #2.5 遍历所有学生信息:
90 def showStd():
print("所有学生信息如下:")
91     print("%-20s%s%15s"%('姓名:','学号:','年龄:')
92 for temp in std:
93           print("%-20s%d%15d"%(temp['Name'],temp['Id'],temp['Age']))
 94 #2.6 修改学生信息:
95 def chgStd():
96 stdId = input("请输入需要修改学生的学号:")
97 flag = 0
98 for temp in std:
99 if stdId == temp['Id']:
100 flag = 1
101 assure = raw_input ("确认是否修改?(yes or no):")
102 if assure == "yes":
103 condition= input ("修改名字:0 修改年龄:1 全部修改:2 请输入相应序号:")
104 if condition == 0:
105 newName = raw_input ("请输入修改后的姓名:")
106 temp['Name'] = newName
107 elif condition ==1:
108 temp['Age'] = input("请输入修改后的年龄:")
109 else:
110 newName = raw_input ("请输入修改后的姓名:")
111 temp['Name'] = newName
112 temp['Age'] = input("请输入修改后的年龄:")
113 print("恭喜您已修改成功!")
114 break
115 else:
116 print("您已放弃修改了!")
117 break
118 else:
119 continue
120 if flag ==0:
121 print("很抱歉,系统不存在该学生信息!") 123 #2.6 退出系统
124 def exitStd():
125 global label
126 key = raw_input("确认退出系统?(yes or no)")
127 while(1):
128 if key == "yes":
129 print("感谢使用系统,欢迎下次再来!")
130 label = 1
131 break
132 else:
133               print("请重新选择需要办理的业务编号!")
break
134 #3.主程序
135 def main():
136 choice = printStd()
137 while choice<=6:
138 makeChoice(choice)
139 if label ==1:
140 break
141 choice = printStd()
142
143
144 label=0
145 std = []
146 main()

1. 新增学生:

2.查找学生信息:

3.删除学生:

4.遍历可验证学号为12的学生是否已删除:

为空,已删除。正常遍历如下:

5. 修改:

修改成功。

6.退出:

python之学生信息管理系统的更多相关文章

  1. python 04 学生信息管理系统

    今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典.注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖.dict属于可变类型数据,内容改 ...

  2. 1、纯python编写学生信息管理系统

    1.效果图 2.python code: class studentSys(object): ''' _init_(self) 被称为类的构造函数或初始化方法, self 代表类的实例,self 在定 ...

  3. Python基础案例练习:制作学生信息管理系统

    一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...

  4. Python学生信息管理系统的开发

    # 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...

  5. 【python免费代码】设计一个简单的学生信息管理系统

    文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...

  6. python3 简陋的学生信息管理系统

    # 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...

  7. 基于数组或链表的学生信息管理系统(小学期C语言程序实训)

    1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...

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

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

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

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

随机推荐

  1. Java求余%引发的一连串故事

    C1 RCE对%的处理 HotSpot VM的C1有个RCE(Range Check Elimination,范围检查消除)优化,所谓范围检查消除,就是为了正确的抛出数组越界异常,虚拟机需要在数组访问 ...

  2. Spring 实例化方式有几种?为什么会用到 Cglib?

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! <Spring 手撸专栏>目录 [x] 第 1 章:开篇介绍,我要带你撸 Spri ...

  3. ffmpeg安装之linux编译安装

    转发自白狼栈:查看原文 关于ffmpeg的安装,有的人可能要折腾很久,甚至折腾一个礼拜,究其原因,基本都是编译安装惹的祸. 我们提供4种安装方式,最复杂的莫过于centos7上的编译安装. ffmpe ...

  4. ELK技术栈之-Logstash详解

    ELK技术栈之-Logstash详解   前言 在第九章节中,我们已经安装好Logstash组件了,并且启动实例测试它的数据输入和输出,但是用的是最简单的控制台标准输入和标准输出,那这节我们就来深入的 ...

  5. Go基础结构与类型05---程序运算

    package main import ( "fmt" "math" ) func main() { /*加减乘除,求余*/ fmt.Println(" ...

  6. ALD对照CVD淀积技术的优势

    ALD对照CVD淀积技术的优势 ALD 适合制备很薄的高K金属氧化物层,对腔室的真空度要求比较高,对反应气体源及比例的要求也较高. 目前沉积速率还是比较慢,大大限制了其在工业上的推广应用,不过随着设备 ...

  7. Tvm一些基本技术

    Tvm一些基本技术 一.总体流程: TVM的工作流程:首先,将网络表示成统一的表示形式(Intermediate Representation),并进行一些可重用的图优化:然后,利用不同的后端生成对应 ...

  8. AI框架精要:设计思想

    AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...

  9. NVIDIA FFmpeg 转码技术分析

    NVIDIA FFmpeg 转码技术分析 所有从 Kepler 一代开始的 NVIDIA GPUs 都支持完全加速的硬件视频编码,而从费米一代开始的所有 GPUs 都支持完全加速的硬件视频解码.截至 ...

  10. 微调BERT:序列级和令牌级应用程序

    微调BERT:序列级和令牌级应用程序 Fine-Tuning BERT for Sequence-Level and Token-Level Applications 为自然语言处理应用程序设计了不同 ...