python7 plus

练习

1

class Circle:
    def __init__(self, r):
        self.r = r

    def get_area(self):
        return 3.14*pow(self.r, 2)

    def get_perimeter(self):
        return 2*3.14*self.r

# 创建对象
r = eval(input('请输入圆的半径:'))
c = Circle(r)

# 调用
area = c.get_area()
perimeter = c.get_perimeter()
print(area, perimeter)

2

class Student:
    def __init__(self, name, age, gender, score):
        self.name = name
        self.age = age
        self.gender = gender
        self.score = score

    def info(self):
        print(self.name, self.age, self.gender, self.score)

print('请输入3位学生信息:(姓名#年龄#性别#成绩)')
lst = []
for i in range(1,4):
    s = input(f'请输入第{i}位学生信息及成绩')
    s_lst = s.split('#')
    #创建学生对象
    stu = Student(s_lst[0], s_lst[1], s_lst[2], s_lst[3])
    lst.append(stu)

# 遍历列表,调用学生的info 方法
for item in lst:
    item.info()

3.

class Instrument:
    def make_sound(self):
        pass

class Erhu(Instrument):
    def make_sound(self):
        print('二胡弹奏')

class Piano(Instrument):
    def make_sound(self):
        print('钢琴弹奏')

class Violin(Instrument):
    def make_sound(self):
        print('小提琴弹奏')

def play(obj):
    obj.make_sound()

# 测试
er = Erhu()
piano = Piano()
vio = Violin()

# 调用方法
play(er)
play(piano)
play(vio)

4.

class Car:
    def __init__(self, type, num):
        self.type = type
        self.num = num

    def start(self):
        print('启动')

    def stop(self):
        print('停止')


class Taxi(Car):
    def __init__(self, type, num, company):
        super().__init__(type, num)
        self.company = company

    def start(self):
        print('乘客您好,开车了')

    def stop(self):
        print('到了,交钱')


class FamilyCar(Car):
    def __init__(self, type, num, name):
        super().__init__(type, num)
        self.name = name

    def start(self):
        print('This is my car')

    def stop(self):
        print('到了,撤')

# 测试
taxi = Taxi('上海大众', '沪A88888','小沪')
taxi.start()
taxi.stop()

print('-'*50)
fcar = FamilyCar('丰田', '京A66666', '小明')
fcar.start()
fcar.stop()

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值