python面向对象程序设计案例
9.5.1.例:定义学员信息类、包含姓名、成绩属性。定义成绩打印方法,打印等级成绩(90以上为优秀,80以上为良好、70以上为中等、60以上为及格、60以下为补考)
●实体:学员
●属性:姓名、成绩
●方法:打印成绩
#1.创建学员类
class Student():#定义学员的属性def __init__(self,name,score):self.name=nameself.score=scoredef print_grade(self):if self.score>=90:print(f'学员姓名:{self.name},学员成绩:{self.score},优秀')elif self.score>=80:print(f'学员姓名:{self.name},学员成绩:{self.score},良好')elif self.score>=70:print(f'学员姓名:{self.name},学员成绩:{self.score},中等')elif self.score>=60:print(f'学员姓名:{self.name},学员成绩:{self.score},及格')else:print(f'学员姓名:{self.name},学员成绩:{self.score},补考')name1=input('请输入性名:')
score1=int(input('请输入成绩:'))tom=Student(name1,score1)
tom.print_grade()
9.5.2.例2:小明体重102公斤,每次跑步减掉0.5公斤,没吃饭增加1公斤
●实体:小明
●属性:姓名、体重
●方法:
跑步:体重减少0.5
吃饭:体重增加1公斤
#1.创建学员类
class Person():#定义学员的属性def __init__(self,name,weight):self.name=nameself.weight=weightdef run(self):self.weight-=0.5def eat(self):self.weight+=1def __str__(self):return f'姓名:{self.name},目前体重:{self.weight}KG'xiaoming=Person('小明',120)print(xiaoming) #利用str魔术方法返回信息xiaoming.eat()
print(xiaoming)
xiaoming.run()
print(xiaoming)
9.5.3.例3:编写Prime类实现输出大于m且紧随m的k个素数
●实体:数字
●属性:m k
●方法:判断实现大于m且紧随m的k个素数
class Prime():def __init__(self,m,k):self.m=mself.k=kdef prime_number(self):count=0i=self.m+1while count
9.5.4.例4:编写Mysort类实现整数升序排序
●实体:list
●属性:list len
●方法:选择性升序排序
class Mysort():def __init__(self, list1):self.list1 = list1def selection_sort(self):if len(self.list1) == 0:return '数据不能为空'self.list1 = list(self.list1)self.list1 = [int(self.list1[i]) for i in range(len(self.list1))]#选择性排序for i in range(len(self.list1) - 1): # 有n个数一共进行n-1次比较for j in range(i + 1, len(self.list1)):if self.list1[i] > self.list1[j]:self.list1[i], self.list1[j] = self.list1[j], self.list1[i]return self.list1li = input('请输入需要排序的序列:')
mysort1 = Mysort(li)
print(mysort1.selection_sort())
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
