定义一个学生类,有下面的属性
- 姓名
- 年龄
- 成绩(语文,数学,英语)每课成绩类型为整数
- 类方法
- 获取学生的姓名:get_name() 返回类型:str
- 获取学生的年纪:get_age() 返回类型:int
- 返回3门科目中最高的分数,get_course() 返回类型:int
class Student(object):
def __init__(self, name, age, scores):
self.name = name
self.age = age
self.scores = scores
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_course(self):
return max(self.scores)
zz = Student("aa", 18, [80, 100, 90])
print(zz.get_name())
print(zz.get_age())
print(zz.get_course())
aa
18
100
定义一个字典类:DictClass,完成如下功能
- 删除某个key del_dict(key)
- 判断某个键是否在字典里,如果在,返回键对应的值,不在,则返回’not found’ get_dict()
- 返回键组成的列表 返回类型:list get_key()
- 合并字典,并且返回合并后字典的values组成的列表,返回类型 list updata_dict()
class DictClass(object):
def __init__(self, dict):
self.dict = dict
def del_dict(self, key):
# 判断key是否在字典里
if key not in self.dict.keys():
return "key不在字典里"
else:
self.dict.pop(key)
return "删除成功"
def get_dict(self, key):
if key not in self.dict.keys():
return "not found"
else:
return self.dict[key]
def get_key(self):
return self.dict.keys()
def updata_dict(self, dict2):
self.dict = dict(self.dict, **dict2)
return self.dict.values()
d = DictClass({"a":1, "b":2})
print(d.get_key())
print(d.updata_dict({"c":3}))
print(d.del_dict("a"))
print(d.get_dict("b"))
dict_keys(['a', 'b'])
dict_values([1, 2, 3])
删除成功
2
定义一个列表的操作类 ListInfo
- 列表元素添加:add_key() 添加的必须数字或者字符串
- 列表元素取值:get_key()
- 列表合并:updata_list(list)
- 删除并且返回最后一个元素:del_key()
class ListInfo(object):
def __init__(self, list_val):
self.list = list_val
def add_key(self, key_name):
# 添加的key必须是数字或者字符串
if isinstance(key_name, (str, int)):
self.list.append(key_name)
print(self.list)
return "OK"
else:
return "我要字符串或者数字"
def get_key(self, index):
# 判断传入的索引是否超出了列表
if index >= 0 and index < len(self.list):
return self.list[index]
return "你输入的太多了!"
def updata_list(self, new_list):
self.list.extend(new_list)
return self.list
def del_key(self):
# 首先要判断我们的列表里面是否还有元素
if len(self.list) >= 0:
return self.list.pop(-1)
else:
return "列表是空的"
list_info = ListInfo([1, 2, 3, 4, 5])
print(list_info.add_key([1,2]))
print(list_info.get_key(999))
print(list_info.get_key(3))
print(list_info.updata_list([8, 9, 10]))
print(list_info.del_key())
我要字符串或者数字
你输入的太多了!
4
[1, 2, 3, 4, 5, 8, 9, 10]
10
定义一个集合的操作类
- 集合元素添加:add_setinfo()
- 集合的交集:get_intersection()
- 集合的并集:get_union
- 集合的差集:del_difference()
class SetInfo(object):
def __init__(self, my_set):
self.sett = my_set
def add_setinfo(self, keyname):
self.sett.add(keyname)
return self.sett
def get_intersection(self, unioninfo):
if isinstance(unioninfo, set):
return self.sett & unioninfo
else:
return "你传入的不是set"
def get_union(self, unioninfo):
if isinstance(unioninfo, set):
return self.sett | unioninfo
return "你传入的不是set"
def del_difference(self, unioninfo):
if isinstance(unioninfo, set):
return self.sett - unioninfo
return "你传入的不是set"
A = set([1, 2, 3, 4, 5])
B = set([5, 6, 3, 8])
my_set = SetInfo(A)
print(my_set.add_setinfo(6))
print(my_set.get_intersection(B))
print(my_set.get_union(B))
print(my_set.del_difference(B))
print(my_set.get_union("123"))
{1, 2, 3, 4, 5, 6}
{3, 5, 6}
{1, 2, 3, 4, 5, 6, 8}
{1, 2, 4}
你传入的不是set
正文完