python的类的题目_python3 class类 练习题1

"""

一、定义一个学生student类。有下面的类属性:

1 姓名 name

2 年龄 age

3 成绩 score(语文,数学,英语) [每课成绩的类型为整数]

类方法:

1 获取学生的姓名:get_name() 返回类型:str

2 获取学生的年龄:get_age() 返回类型:int

3 返回3门科目中最高的分数。get_course() 返回类型:int

写好类以后,可以定义2个同学测试下:

zm = student('zhangming',20,[69,88,100])

返回结果:

zhangming

20

100

"""

class student():

# 构造函数

# 对当前对象的实例的初始化

def __init__(self, name, age, score):

self.name = name

self.age = age

self.score = score

# isinstance函数判断一个对象是否是一个已知的类型,类似type

def get_name(self):

if isinstance(self.name, str):

return self.name

def get_age(self):

if isinstance(self.age, int):

return self.age

def get_course(self):

a = max(self.score)

if isinstance(a, int):

return a

zm = student('zhangming', 20, [69, 88, 100])

print(zm.get_name())

print(zm.get_age())

print(zm.get_course())

"""

二、定义一个字典类:dictclass。完成下面的功能:

dict = dictclass({你需要操作的字典对象})

1 删除某个key

del_dict(key)

2 判断某个键是否在字典里,如果在返回键对应的值,不存在则返回"not found"

get_dict(key)

3 返回键组成的列表:返回类型;(list)

get_key()

4 合并字典,并且返回合并后字典的values组成的列表。返回类型:(list)

update_dict({要合并的字典})

"""

class dictclass():

# 构造函数

# 对当前对象的实例的初始化

def __init__(self, class1):

self.classs = class1

def del_dict(self, key):

if key in self.classs.keys():

del self.classs[key]

return self.classs

return "不存在这个值,无需删除"

def get_dict(self, key):

if key in self.classs.keys():

return self.classs[key]

return "not found"

def get_key(self):

return list(self.classs.keys())

def update_dict(self, dict1):

# 方法1

# self.classs.update(dict1)

# 方法2,对于重复的key,b会覆盖a

a = dict(self.classs, **dict1)

return a

a = dictclass({"姓名": "张三", "年龄": "18", "性别": "男"})

print(a.del_dict("年龄"))

print(a.get_dict("姓名"))

print(a.get_key())

print(a.update_dict({"年薪": 0}))

"""

三、定义一个列表的操作类:listinfo

包括的方法:

1 列表元素添加: add_key(keyname) [keyname:字符串或者整数类型]

2 列表元素取值:get_key(num) [num:整数类型]

3 列表合并:update_list(list) [list:列表类型]

4 删除并且返回最后一个元素:del_key()

a = listinfo([44,222,111,333,454,'sss','333'])

"""

class listinfo():

def __init__(self, my_list):

self.listt = my_list

def add_key(self, keyname):

if isinstance(keyname, (str, int)):

self.listt.append(keyname)

return self.listt

return "error"

def get_key(self, num):

if num >= 0 and num < len(self.listt):

a = self.listt[num]

return a

return "超出取值范围"

def update_list(self, list1):

if isinstance(list1, list):

self.listt.extend(list1)

return self.listt

return "类型错误"

def del_key(self):

a = self.listt.pop(-1)

return a

a = listinfo([44, 222, 111, 333, 454, 'sss', '333'])

print(a.add_key(1))

print(a.get_key(1))

print(a.update_list([1, 2, 3]))

print(a.del_key())

"""

定义一个集合的操作类:setinfo

包括的方法:

1 集合元素添加: add_setinfo(keyname) [keyname:字符串或者整数类型]

2 集合的交集:get_intersection(unioninfo) [unioninfo :集合类型]

3 集合的并集: get_union(unioninfo)[unioninfo :集合类型]

4 集合的差集:del_difference(unioninfo) [unioninfo :集合类型]

set_info = setinfo(你要操作的集合)

"""

class setinfo():

def __init__(self, my_set):

self.sett = my_set

def add_setinfo(self, keyname):

if isinstance(keyname, (str, int)):

self.sett.add(keyname)

return self.sett

def get_intersection(self, unioninfo):

if isinstance(unioninfo, set):

a = self.sett & (unioninfo)

return a

def get_union(self, unioninfo):

if isinstance(unioninfo, set):

a = self.sett | (unioninfo)

return a

def del_difference(self, unioninfo):

if isinstance(unioninfo, set):

a = self.sett - (unioninfo)

return a

a = setinfo({1, "a", 2, "b", 3, "c"})

print(a.add_setinfo(4))

print(a.get_intersection({1, 2, "a"}))

print(a.get_union({2, 3, 4, "c", "d"}))

print(a.del_difference({1, 2, 3, 4}))

原文:https://blog.csdn.net/bullpride/article/details/52022701

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值