设计一个学生类&班级类
第一题
- 设计一个学生类
- 属性:姓名、学号、年龄、成绩
- 设计一个班级类要求:实现向班级中添加学生、删除学生、查看学生、按照指定条件排序
- 属性:班级代号,所有学生
- 需要使用
- calss, __int__, __str__, sort, append, dict, list, remove, for in
class Stu:
# 设置学生基础属性
def __init__(self, name, num, age, score):
self.name = name
self.num = num
self.age = age
self.score = score def __str__(self):
return '姓名:{},学号:{},年龄:{},成绩{}'.format(self.name, self.num, self.age, self.score) # 查看学生类是否创建成功
# c = Stu('小米', 100, 18, 66)
# print(c) class Class1:
def __init__(self, name):
self.name = name
self.class_dict = {}
self.class_list = [] def add_stu(self, stu):
# 添加学生至对应字典列表
self.class_dict[stu.num] = stu
self.class_list.append(stu) def del_stu(self, num):
# 弹出后删除
stu_danchu = self.class_dict.pop(num)
self.class_list.remove(stu_danchu) def sort_stu(self, key, reverse=False):
# 排序
self.class_list.sort(key=key, reverse=reverse) def show_class(self):
# 打印
print(self.name)
for i in self.class_list:
print(i) def chazhao_stu(self, num):
return print(self.class_dict.get(num)) # 测试代码 import random c1 = Class1('python') for i in range(10):
name = 'stu' + str(i)
num = 100 + i
age = random.randint(18, 25)
score = random.randint(70, 100)
c = Stu(name, num, age, score)
c1.add_stu(c) # 展示
c1.show_class()
# 排序
c1.sort_stu(key=lambda s: s.num, reverse=True)
# 查找
c1.chazhao_stu(108)
# 删除
c1.del_stu(109)
c1.show_class()
设计一个学生类&班级类的更多相关文章
- C++ 封装类 2 设计一个学生类 属性有姓名学号 可以给姓名 和学号赋值 可以显示学生的姓名和学号
1 //设计一个学生类 属性有姓名学号 可以给姓名 和学号赋值 可以显示学生的姓名和学号 2 #include <iostream> 3 #include<string> 4 ...
- 用C++设计一个不能被继承的类(用私有构造函数+友元函数)
题目:用C++设计一个不能被继承的类. 分析:这是Adobe公司2007年校园招聘的最新笔试题.这道题除了考察应聘者的C++基本功底外,还能考察反应能力,是一道很好的题目. 在Java中定义了关键字f ...
- 用C++设计一个不能被继承的类(转)
在Java 中定义了关键字final,被final修饰的类不能被继承. 首先想到的是在C++中,子类的构造函数会自动调用父类的构造函数.同样,子类的析构函数也会自动调用父类的析构函数.要想一个类不能被 ...
- 使用Java MVC模式设计一个学生管理系统
最近在做web实验,要求是用jsp+servlet+mysql实现一个学生管理系统,完成对数据库的增删改查. 效果图: 代码: package dao; import java.util.List ...
- c++设计一个无法被继承的类
要求是该类不能被继承,但是能够像正常的类一样使用.那么一下方法就不符合题目要求: 1.构造函数和析构函数设置为private.这样就不能定义一个类的实例 2.类似于singleton模式那样,定义一个 ...
- 用C++ 设计一个不能被继承的类
http://blog.sina.com.cn/s/blog_69d9bff30100odlz.html 在Java 中定义了关键字final ,被final 修饰的类不能被继承.但在C++ 中没有f ...
- 面试题48:用C++设计一个不能被继承的类
解法一:把构造函数设为私有 将构造函数定义为私有,然后通过定义公有的静态函数来创建和释放类的实例. { public: static SealedClass1* GetInstance() { ret ...
- C++设计一个不能被继承的类
1. 方法一 将构造函数和析构函数设置为私有函数,重新定义公有的静态函数来创建和释放类. #include "stdafx.h" #include <iostream> ...
- [JCIP笔记] (三)如何设计一个线程安全的对象
在当我们谈论线程安全时,我们在谈论什么中,我们讨论了怎样通过Java的synchronize机制去避免几个线程同时访问一个变量时发生问题.忧国忧民的Brian Goetz大神在多年的开发过程中,也悟到 ...
随机推荐
- The pit of an if statement in Java
package the.pit.of.an.ifstatement.injava; public class ThePitOfAnIfStatementInJava { public static v ...
- Head First HTML和CSS(一)
Web语言 HTML和CSS是我们用来创建网页的语言. Web服务器存储并提供由HTML和CSS创建的网页,浏览器获取页面,并根据HTML和CSS显示网页的内容 HTML是超文本标记语言(HyperT ...
- MySQL Database on Azure服务在中国正式商用
基于由世纪互联运营的Windows Azure平台,MySQL Database on Azure服务助力中国用户实现数据库在云端的快速部署.推进用户的创新开发 2015年9月10日,北京——微软中国 ...
- Docker的一些常用命令
# systemctl start docker //启动docker # systemctl restart docker //重启docker # systemctl enable docker ...
- centos 卸载python和yum之后的解决办法
网上看到有同学yum不能使用的消息,出现了下面的结果 无赖的使用了网上的很多方法,还是不行. 于是我卸载了python和yum,觉得自己重新安装python和yum. 步骤1:卸载python rpm ...
- 深入探索C++对象模型(1) 关于对象(思维导图)
通过上面整个关于对象的基础知识框架,我们来分析两个例子,看一下在内存中,对象究竟长什么样. Demo1:C++对象模型的内存布局 class Point { public: Point( floa ...
- ASP.NET Core 添加静态目录访问、使其它目录可被访问
使用app.UseFileServer 在 public void Configure(){}中,修改或添加 app.UseFileServer(new FileServerOptions() { F ...
- xsd文件记录
<MESSAGE Version="1.0"> <CV_HEADER MsgType=" /> <QUERY_PROFILE> < ...
- Kinaba 简单画图
此片文章简单介绍如何在kinaba 上画图. 如果你,还没有搭建ELK 请参考:ELK日志分析平台搭建全过程 本文参考:http://www.cnblogs.com/hanyifeng/p/58607 ...
- 省事之通用Makefile模版
现在编译方案都偏爱使用cmake解决问题,这两条做unity插件,还是用Makefile,居然忘得光光,好记性不如烂笔头. 后面,翻箱倒柜找到以前为炼金术写的Makefiel,发现还真是挺好用,贴出来 ...