python_学生信息管理实例
"""提示:代码中的内容均被注释,请参考,切勿照搬"""
"""注意:代码切勿照搬,错误请留言指出"""
class Student:
def __init__(self,No,name,sex,age):
self.No = No
self.name = name
self.sex = sex
self.age = age def show(self):
print("%s %s %s %d"%(self.No,self.name,self.sex,self.age)) class StudentList:
def __init__(self):
self.students=[] #存信息的空list def show(self):
print("%s %s %s %d" % (No,name,sex,age))
for s in self.students:
s.show() def __insert(self,s):
i = 0
while (i<len(self.students) and s.No> self.students[i].No): ##!!
i=i+1
if (i<len(self.students) and s.No== self.students[i].NO): ##!!
print(s.No+"已经存在")
return False
self.students.insert(i,s)
print("添加成功")
return True def __update(self,s):
flag = False
for i in range(len(self.studenlist)):
if(s.No == self.students[i].No):
self.students[i].name = s.name
self.students[i].sex = s.sex
self.students[i].age = s.age
print("修改成功")
flag = True
break
if (not flag):
print("没有这个学生")
return flag def __delete(self,No):
flag = False
for i in range(len(self.students)):
if (self.students[i].No == No):
del self.students[i]
print("删除成功")
flag = True
break
if(not flag):
print("没有这个学生")
return flag #用户预输入数据
def insert(self):
No = input("NO:")
name = input("Name:")
while True:
sex = input("Sex:")
if(sex=='男' or sex=='女'):
break
else:
print("----Sex数据有误----")
age = int(input("Age:"))
if(No!='' or name!=''):
self.__insert(Student(No,name,sex,age))
else:
print("----学号or性别不能为空----") def update(self):
No = input("NO:")
name = input("Name:")
while True:
sex = input("Sex:")
if (sex == '男' or sex == '女'):
break
else:
print("----Sex数据有误----")
age = int(input("Age:"))
if (No != '' or name != ''):
self.__update(Student(NO, name, sex, age))
else:
print("----学号or性别不能为空 ----") def delete(self):
No = input("No:")
if(No != ''):
self.__delete(No)
#用户输入
def scanf(self):
while True:
s=input(">>>")
if (s =='insert'):
self.insert()
elif (s =='update'):
self.update()
elif (s =='delete'):
self.delete()
elif (s =='show'):
self.show()
elif (s =='exit'):
break
else:
print("----指令输入错误----") s=StudentList()
s.scanf()
python_学生信息管理实例的更多相关文章
- 【学员管理系统】0x02 学生信息管理功能
[学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...
- Laravel之简单的学生信息管理平台
laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器.视图.模板.模型.中间件.路由规则的使用. 页面是使用BootStrap前端框架搭建 使用laravel实现了增删改查的功 ...
- vue实现简单学生信息管理案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类
098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类 本文知识点:编写并测试Subject类 说明: ...
- 099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类
099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类 本文知识点:编写并测试Subject类 说明: ...
- 101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联——方案二
101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联--方案二 本文知识点:通过方法实现学生类与 ...
- JavaWeb -学生信息管理实践(JDBC+web+三层架构+DBUtil构造思路)
前言: 1 该程序使用动态web项目 2 该程序使用SQL server需导入对应包( 具体可看前篇----JDBC的使用) 3 三层架构思想: ①表示层 前台:jsp/html等 作为前台与用户交互 ...
- C语言实践——学生信息管理
这是本人做的第一个实践项目,用的知识都是书上有的,没有很多很复杂的知识 同时因为没有学习 C语言 图形方面的知识,所以界面做得很丑,暂时先这样吧 源文件: #include <stdio.h&g ...
- python_如何对实例属性进行类型检查?
案例: 在某项目中,我们实现了一些类,并希望能像静态语言那样对他们的实例属性进行类型检查 p = Person() p.name = 'xi_xi' # 必须是str p.age = ...
随机推荐
- Fiddler 教程之:Fiddler捕获会话
1 Fiddler的工作原理 Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888.当Fiddler退出的时候它会自动注销,这样就不会影响别的程序.不过 ...
- Maven 项目使用开源中国镜像
从maven中央库下载jar非常缓慢甚至有时候会下载不下来. 可以采用中国的maven镜像.目前主要是 开源中国的镜像. 找到maven配置文件setting.xml,打开 中间添加开源中国的配置: ...
- poj2002 Squares(hash+折半枚举)
Description A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-d ...
- 十一、Node.js监听代码改动自动重启node插件supervisor
我们慢慢地发现,每次我们稍微改变js代码都需要重启服务才能在浏览器显示新的效果,很麻烦,这里我们可以通过npm命令安装supervisoror插件,安装方法如下 之前章节我们知道安装了nodejs就会 ...
- Socket 简易静态服务器 WPF MVVM模式(二)
command类 标准来说,command会有三种模式,委托命令 准备命令 附加命令 1.DelegateCommand 2.RelayCommand 3.AttachbehaviorCommand ...
- 《C#多线程编程实战》2.5 AutoResetEvent
这个有点像是缩小版的mutex 还是很好理解的 相对mutex 使用的范围可能比较小一点. class Program { static AutoResetEvent work = new AutoR ...
- ubuntu没有权限(不能)创建文件夹(目录)
可以在终端直接运行 sudo nautilus,弹出来的nautilus可以直接GUI操作,中途别关终端.如果遇到需要输入root密码,则输入root密码就可以启动这个图形界面了.
- kali linux之服务扫描
识别开放端口上运行的应用.识别目标操作系统,提高攻击效率 banner捕获(软件开发商,软件名称,服务类型,版本号-----直接发现已知的漏洞和弱点) 服务识别 操作系统识别 snmp分析(简单网络管 ...
- python文件操作-修改文件中的内容
一.文件读写有缓冲区 fw = open('nhy','w') fw.write('sdfsdf') fw.flush()# 把缓冲区里面的数据立即写到磁盘上 fw.close() 二.with的用法 ...
- Python中实现简单的插件框架
在系统设计中,经常我们希望设计一套插件机制,在不修改程序主体情况下,动态去加载附能. 我设想的插件系统: 1.通过类来实现 2.自动查找和导入 我们假设需要实现一个简单的插件系统,插件可以接收一个参数 ...