9.5.1.例:定义学员信息类、包含姓名、成绩属性。定义成绩打印方法,打印等级成绩(90以上为优秀,80以上为良好、70以上为中等、60以上为及格、60以下为补考)
●实体:学员
●属性:姓名、成绩
●方法:打印成绩
#1.创建学员类
class Student():
#定义学员的属性
def __init__(self,name,score):
self.name=name
self.score=score
def 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=name
self.weight=weight
def run(self):
self.weight-=0.5
def eat(self):
self.weight+=1
def __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=m
self.k=k
def prime_number(self):
count=0
i=self.m+1
while count
9.5.4.例4:编写Mysort类实现整数升序排序
●实体:list
●属性:list len
●方法:选择性升序排序
class Mysort():
def __init__(self, list1):
self.list1 = list1
def 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.list1
li = input('请输入需要排序的序列:')
mysort1 = Mysort(li)
print(mysort1.selection_sort())