"""提示:代码中的内容均被注释,请参考,切勿照搬"""

"""注意:代码切勿照搬,错误请留言指出"""


 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_学生信息管理实例的更多相关文章

  1. 【学员管理系统】0x02 学生信息管理功能

    [学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...

  2. Laravel之简单的学生信息管理平台

    laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器.视图.模板.模型.中间件.路由规则的使用. 页面是使用BootStrap前端框架搭建 使用laravel实现了增删改查的功 ...

  3. vue实现简单学生信息管理案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类

    098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类 本文知识点:编写并测试Subject类 说明: ...

  5. 099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类

    099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类 本文知识点:编写并测试Subject类 说明: ...

  6. 101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联——方案二

    101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联--方案二 本文知识点:通过方法实现学生类与 ...

  7. JavaWeb -学生信息管理实践(JDBC+web+三层架构+DBUtil构造思路)

    前言: 1 该程序使用动态web项目 2 该程序使用SQL server需导入对应包( 具体可看前篇----JDBC的使用) 3 三层架构思想: ①表示层 前台:jsp/html等 作为前台与用户交互 ...

  8. C语言实践——学生信息管理

    这是本人做的第一个实践项目,用的知识都是书上有的,没有很多很复杂的知识 同时因为没有学习 C语言 图形方面的知识,所以界面做得很丑,暂时先这样吧 源文件: #include <stdio.h&g ...

  9. python_如何对实例属性进行类型检查?

    案例: 在某项目中,我们实现了一些类,并希望能像静态语言那样对他们的实例属性进行类型检查 p = Person() p.name = 'xi_xi'         # 必须是str p.age = ...

随机推荐

  1. C++函数后面加throw关键字简记

    看代码时候看到fun() throw()的用法,找到一篇blog解释很简单,如下: C++函数后面加关键字throw(something)限制,是对这个函数的异常安全性作出限制. 举例及解释如下: v ...

  2. DataAnnotationsModelValidator-基于数据注解方式的model验证器

    http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html http://www.cnblogs.com/artech/ar ...

  3. 第19章-使用Spring发送Email

    1 配置Spring发送邮件 Spring Email抽象的核心是MailSender接口.顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发送的功能,如图19.1所示. 图1 ...

  4. delphi XE7 在Android编译SharedActivity时出错

    delphi XE6 在Android编译SharedActivity时正常,但xe7下编译出错,在uses添加Androidapi.Helpers就可以.

  5. AES加密 AESCrypt 类

    /// <summary> /// AES加密 /// </summary> public sealed class AESCrypt { /// <summary> ...

  6. [.net 多线程]Mutex

    Mutex是可以进程间同步的同步基元.   名称 说明 Mutex() 使用默认属性初始化 Mutex 类的新实例. Mutex(Boolean) 使用 Boolean 值(指示调用线程是否应具有互斥 ...

  7. 【SQL】- 基础知识梳理(七) - 索引

    索引的概念 在关系型数据库中,索引是对数据库表中一列或多列的值进行排序的一种结构. SQL SERVER中有索引的类型:按存储结构区分:“聚集索引(又称聚类索引,簇集索引)”,“分聚集索引(非聚类索引 ...

  8. unix网络编程str_cli使用epoll实现

    unix网络编程str_cli使用epoll实现 unix环境高级编程中也有这个函数,都是为了讲解IO多路转接.从本质上来看epoll就是一个改善了的select和poll,本质没发生任何变化,对于构 ...

  9. [译] 关于 SPA,你需要掌握的 4 层 (2)

    此文已由作者张威授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 视图层 现在我们有了一个可执行且不依赖于框架的应用程序,React 已经准备投入使用. 视图层由 presen ...

  10. 《C#多线程编程实战》2.8 Barrier

    不得不说,C#的同步线程的机制是真的多. 各式各样.几乎各种场景下都有可以使用的同步机制. 今天说的,就是比较有意思了. 等待的机制很简单,单纯的等待. 使用的方法我就等. 等待的东西或者内容则是你自 ...