小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-06-12 / 12 阅读
0
0

Python 面向对象 实验报告

Python程序语言实验报告九

一、实验目的

1、综合掌握Python面向对象知识运用

二、实验内容

1.编写程序, 设计一个课程类,包括课程编号、课程名称、任课教师、上课地点等属性,把上课地点变量设为私有的,增加构造方法和显示课程信息的方法。

2.设计一个表示学生(Student)的类,该类的属性有姓名(name)、年龄(age)、成绩(scores)(成绩包括语文、数学和英语三科成绩,每科成绩的类型为整数),另外有3个方法。

(1)获取学生姓名的方法:get_name(),返回类型为String()。

(2)获取学生年龄的方法:get_age()方法,返回类型为int。

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

并实例化测试

  1. 请定义一个交通工具(Vehicle)的类,其中有:

属性:速度(speed),体积(size)等等

方法:移动(move(int s)),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.

最后测试中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。调用move方法输出移动距离

三、程序清单

# 实验一
class lesson:
    def __init__(self,lesson_id,name,teacher,place):
        self.lesson_id=lesson_id
        self.name=name
        self.teacher=teacher
        self.__place=place
    def showlesson(self):
        print(f'课程名称:{self.name}\n课程编号:{self.lesson_id}\n'
              f'任课老师:{self.teacher}\n上课地点:{self.__place}')
lesson1=lesson(lesson_id='01',teacher='JACK',name='不知道',place='第一阶梯教室')
lesson1.showlesson()
# 实验二
class student:
    def __init__(self,name,scores,age):
        self.name=name
        self.scores=scores
        self.age=age
    # 获取名字
    def get_name(self):
        return str(self.name)
    # 获取年龄
    def get_age(self):
        return  int(self.age)
    # 获取最高分
    def get_course(self):
        a=self.scores
        b=list(a)
        b.sort(reverse=True)
        return int(b[0])
person1=student('小芳',[88,99,120],45)
print(f'名字:{person1.get_name()}\n年龄:{person1.get_age()}\n最高成绩:{person1.get_course()}')
# 实验三
import  time
class Vehicle:
    def __init__(self,color,size,speed=0,CountTime=0,distance=0):
        self.color=color
        self.speed=int(speed)
        self.size=int(size)
        self.CountTime=int(CountTime)
        self.distance=int(distance)
    def SetSpeed(self,speed):
        self.speed=int(speed)
        self.Distance()
    def SpeedUP(self):
        self.speed+=10
        self.Distance()
    def SpeedDown(self):
        self.speed-=10
        self.Distance()
    # 计时器函数
    def CountTime1(self):
        self.CountTime+=1
    def Distance(self):
        self.distance += self.speed * self.CountTime
    def move(self):
        print(f'{self.color}颜色,体积为{self.size}的车,走了{self.CountTime}s,走了{self.distance}km')

Vehicle1=Vehicle('red',45)
# 设置初始速度
Vehicle1.SetSpeed(45)
# 进入循环
while (True):
    a=int(input('是否继续走(1:走,0:停下)'))
    if (a==1):
        print("-"*36
              ,"请根据情况输入数字",
              "1.速度加10",
              "2.速度减10",
              "3.显示当前信息",
              '-'*36,sep='\n')
        b=int(input('输入选项:'))
        if(b==1):
            Vehicle1.CountTime1()
            Vehicle1.SpeedUP()

        elif(b==2):
            Vehicle1.CountTime1()
            Vehicle1.SpeedDown()
        elif(b==3):
            Vehicle1.move()
        else:
            print('选项无效')
    else:
        Vehicle1.move()
        break







评论