python面向对象程序设计案例

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())

你可能感兴趣的:(python,python,开发语言)