实验七
实验任务1
实验源码:
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():
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()

实验任务2
class Shape:
def info(self):
pass
def area(self):
pass
def perimeter(self):
pass
class Rect(Shape):
def __init__(self,x=0,y=0,length=2,width=1):
self._x=x
self._y=y
self._width=width
self._length=length
def info(self):
print(f'矩形左上角顶点坐标:({self._x},{self._y})')
print(f'矩形长:{self._length}')
print(f'矩形宽:{self._width}')
def area(self):
return self._length*self._width
def perimeter(self):
return (self._length+self._width)*2
class Circle(Shape):
def __init__(self,x=0,y=0,radius=1):
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
class Triangle(Shape):
def __init__(self,a=1,b=1,c=1):
self._a,self._b,self._c=a,b,c
def info(self):
print(f'三角形三边长:({self._a},{self._b},{self._c})')
def area(self):
s=(self._a+self._b+self._c)/2
ans=(s*(s-self._a)*(s-self._b)*(s-self._c))**0.5
return ans
def perimeter(self):
return(self._a+self._b+self._c)
def main():
print('测试1:'.center(40,'*'))
shapes_lst1=[Circle(),Rect(),Triangle()]
for t in shapes_lst1:
t.info()
print(f'面积:{t.area():.2f}')
print(f'周长:{t.perimeter():.2f}')
print()
print('测试2:'.center(40,'*'))
shapes_lst2=[Circle(x=2,y=2,radius=10),
Rect(x=50,y=50,length=10,width=5),
Triangle(a=3,b=4,c=5)]
for t in shapes_lst2:
t.info()
print(f'面积:{t.area():.2f}')
print(f'周长:{t.perimeter():.2f}')
print()
if __name__=='__main__':
main()


task2_2.py
实验源码:
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()
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()
实验任务3
实验源码:
from math import *
m = 0
s = 2
def func(x):
return 1/(sqrt(2*pi)*s)*(exp((-0.5)*((x-m)/s)**2))
print(f'x = 1,f = {func(1):.8f}')
print(f'x = 3,f = {func(3):.8f}')
print(f'x = 5,f = {func(5):.8f}')
print(f'x = 7,f = {func(7):.8f}')
print(f'x = 9,f = {func(9):.8f}')


浙公网安备 33010602011771号