实验五

 

实验任务1

'''
银行账户
数据:持卡人姓名、账号、当前余额
操作:提款、取款、打印账户信息
'''

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

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

a1.deposit(5000)
a1.withdraw(10000)

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

a1.info()
a2.info()

实验任务2

task2

'''
银行账户
数据:持卡人姓名、账号、当前余额
操作:提款、取款、打印账户信息
'''

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

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

    a1.info()
    a2.info()

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

task2-1

import account #导入模块

u1 = account.Account('Tom', '5004516', 10000)#通过‘模块名.类名’使用模块account.py中的类Account
u2 = account.Account('Jerry', '5003127', 10000)

u1.deposit(5000)
u1.info()

u2.withdraw(5000)
u2.info()

task2-2

from account import Account#从模块account中导入类Account

u1 = Account('Tom', '5004516', 10000)#通过导入类名直接使用
u2 = Account('Jerry', '5003127', 10000)

u1.deposit(5000)
u1.info()

u2.withdraw(5000)
u2.info()

实验任务3

'''
这是一个图形类模块
包括:
基类:Shape
子类:Rect, Circle
'''

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

class Rect(Shape):
    '''
    矩形类,继承自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):
    '''
    圆形类,继承自Shape
    数据(属性):圆心坐标、半径
    操作(方法):打印圆信息,计算面积、周长
    '''
    def _init__(self, x, y, radius):
        self._x = x
        self._y = y
        self._radius = 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()

from shape import Rect as rect, Circle as circle #从模块shape中导入Rect类和Circle类,并分别取了别名
r1 = rect(3., 3, 5, 2)
r1.info()
print(f'矩形面积:', r1.area())
print(f'矩形周长:', r1.perimeter())

c1 = circle(5, 5, 1)
c1.info()
print(f'圆面积: {c1.area():.2f}')
print(f'圆周长:{c1.perimeter():.2f}')

class StudentDoc:

    def __init__(self, student_num, student_name, major, python):
        self._student_num = num
        self._student_name = name
        self._major = major
        self._python = python
    def info(self):
        print(f'{self._student_num}, {self._student_name}, {self._major}')

    def change(self, scores):
        return scores

    def  get_score(self):
        return self.python

def main():
    x = StudentDoc('205012340056', 'Tom', '农资', '88')
    x.change(100)
    x.info()

posted @ 2021-05-31 22:57  #三三  阅读(52)  评论(1)    收藏  举报