实验5

class Account:
    '''一个模拟银行账户的简单类'''
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._card_no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def info(self):
        print(f'{self._name}, {self._card_no}, {self._balance}')

    def get_balance(self):
        return self._balance



def main():
    a1 = Account('Bob', '5002311', 20000)
    a2 = Account('Joe', '5006692', 20000)

    a1.deposit(5000)
    a1.withdraw(4000)

    a2.withdraw(10000)
    a2.withdraw(5000)

    a1.info()
    a2.info()


if __name__ == '__main__':
    print('模块信息: ', __doc__)
    print('Account类信息: ', Account.__doc__)
    main()

  

class Shape:
    def info(self):
        print('形状基类')
class Rect(Shape):

    def __init__(self, x, y, width, length):
        self._x = x
        self._y = y
        self._width = width
        self._length = length

    def info(self):
        print(f'矩形左上角顶点坐标: ({self._x}, {self._y})')
        print(f'矩形宽: {self._width}')
        print(f'矩形长: {self._length}')

    def area(self):
        return self._width * self._length

    def perimeter(self):
        return (self._width + self._length) * 2


class Circle(Shape):
    def __init__(self, x, y, radius):
        self._x = x
        self._y = y
        self._r = radius

    def info(self):
        print(f'圆心: ({self._x}, {self._y})')
        print(f'半径: {self._r}')

    def area(self):
        return 3.14 * self._r * self._r

    def perimeter(self):
        return 2 * 3.14 * self._r

def main():
    r1 = Rect(1, 1, 5, 9)
    r1.info()
    print(f'矩形面积: ' , r1.area() )
    print(f'矩形周长: ' , r1.perimeter() )

    c1 = Circle(2, 3, 10)
    c1.info()
    print(f'园面积: {c1.area():.2f}')
    print(f'园周长: {c1.perimeter():.2f}')


if __name__ == '__main__':
    main()

  

posted @ 2021-05-25 16:29  梁山峰  阅读(51)  评论(1)    收藏  举报