实验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的使用可以极大精简编写同类事物时代码的长度。

浙公网安备 33010602011771号