实验7

task1:

源码:

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


class Account:
    """一个模拟银行的简单类"""

    def __init__(self, name, account_number, initial_amount=10):
        """构造新账户"""
        self._name = name
        self._card_no = account_number
        self._balance = initial_amount

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

    def withdraw(self, amount):
        """取款"""
        if self._balance < amount:
            print('余额不足')
            return
        self._balance -= amount

    def info(self):
        """打印账户信息"""
        print('持卡人姓名:', self._name)
        print('持卡人账号:', self._card_no)
        print('持卡人账户余额:', self._balance)

    def get_balance(self):
        '''返回账户余额'''
        return self._balance


def main():
    '''创建Account类对象,测试类'''
    print('测试账户1:'.center(30, '*'))
    a1 = Account('Bob', '5002311', 20000)
    a1.deposit(5000)
    a1.withdraw(4000)
    a1.info()

    print()

    print('测试账户2:'.center(30, '*'))
    a2 = Account('Joe', '5006692', 20000)
    a2.withdraw(10000)
    a2.withdraw(5000)
    a2.info()


if __name__ == '__main__':
    main()

截图:

 

task2:

源码:

from shape import Rect, Circle
shape_lst = [Rect(5, 5, 10, 5), Circle(), Circle(1, 1, 10)]
for i in shape_lst:
    i.info()
    print(f'面积: {i.area(): .2f}')
    print(f'周长: {i.perimeter(): .2f}')
    print()

截图:

 

task3:

源码:

def func(x, m=0, s=2):
    import math
    y1 = 1/((2*math.pi)**0.5*s)
    a = ((x-m)/s)**2
    b = -1/2
    y2 = math.exp(a*b)
    result = y1 * y2
    print(f"x = {x}, f = {result:.8f}")


x_lst = [1, 3, 5, 7, 9]
for i in x_lst:
    func(i)

截图:

 

实验总结:学会了父类,子类的使用方法,__init__的用途,模块导入使用。Class的使用可以极大精简编写同类事物时代码的长度。

posted @ 2023-06-12 16:39  再看一眼就会爆炸  阅读(22)  评论(0)    收藏  举报