实验七
1:
1 class Account: 2 def __init__(self, name, account_number, initial_amount = 10): 3 self._name = name 4 self._card_no = account_number 5 self._balance = initial_amount 6 7 def deposit(self, amount): 8 self._balance += amount 9 10 def withdraw(self, amount): 11 if self._balance < amount: 12 print('余额不足') 13 return 14 15 self._balance -= amount 16 17 def info(self): 18 print('持卡人姓名:', self._name) 19 print('持卡人账号:', self._card_no) 20 print('持卡人账户余额:', self._balance) 21 22 def get_balance(self): 23 return self._balance 24 25 def main(): 26 print('测试账户1:'.center(30,'*')) 27 a1 = Account('Bob','5002311',20000) 28 a1.deposit(5000) 29 a1.withdraw(4000) 30 a1.info() 31 32 print() 33 34 print('测试账户2::'.center(30,'*')) 35 a2 = Account('Joe','5006692',20000) 36 a2.withdraw(10000) 37 a2.withdraw(5000) 38 a2.info() 39 40 if __name__ == '__main__': 41 main()
截图:
7.2:
1 class Shape: 2 def info(self): 3 pass 4 def area(self): 5 pass 6 def perimeter(self): 7 pass 8 9 class Rect(Shape): 10 def __init__(self,x = 0, y = 0, length = 2, width = 1): 11 self._x = x 12 self._y = y 13 self._width = width 14 self._length = length 15 16 def info(self): 17 print(f'矩形左上角顶点坐标:({self._x}, {self._y})') 18 print(f'矩形长:{self._length}') 19 print(f'矩形宽:{self._width}') 20 21 def area(self): 22 return self._length * self._width 23 def perimeter(self): 24 return (self._length + self._width) * 2 25 26 class Circle(Shape): 27 def __init__(self,x=0, y=0, radius = 1): 28 self._x =x 29 self._y = y 30 self._r = radius 31 32 def info(self): 33 print(f'圆心:({self._x},{self._y})') 34 print(f'半径:{self._r}') 35 36 def area(self): 37 return 3.14*self._r*self._r 38 39 def perimeter(self): 40 return 2 * 3.14 *self._r 41 42 class Triangle(Shape): 43 def __init__(self,a=1,b=1,c=1): 44 self._a, self._b, self._c = a, b, c 45 46 def info(self): 47 print(f'三角形三边长:({self._a}, {self._b}, {self._c})') 48 49 def area(self): 50 s = (self._a +self._b+self._c)/2 51 ans = (s*(s-self._a)*(s-self._b)*(s-self._c)) **0 52 53 return ans 54 55 def perimeter(self): 56 return (self._a + self._b + self._c) 57 58 def main(): 59 print('测试1:'.center(40,'*')) 60 61 shapes_lst1 = [Circle(), Rect(), Triangle()] 62 for t in shapes_lst1: 63 t.info() 64 print(f'面积:{t.area():.2f}') 65 print(f'周长:{t.perimeter():.2f}') 66 print() 67 68 print('测试2:'.center(40,'*')) 69 70 shapes_lst2 = [Circle(x = 2, y = 2, radius = 10), 71 Rect(x = 50, y = 50, length = 10, width = 5), 72 Triangle(a=3,b=4,c=5)] 73 for t in shapes_lst2: 74 t.info() 75 print(f'面积:{t.area():.2f}') 76 print(f'周长:{t.perimeter():.2f}') 77 print() 78 79 if __name__ == '__main__': 80 main()
截图:

task2
1 from shape import Rect,Circle 2 3 shape_lst = [Rect(5,5,10,5),Circle(),Circle(1,1,10)] 4 5 for i in shape_lst: 6 i.info() 7 print(f'面积:{i.area():.2f}') 8 print(f'周长:{i.perimeter():.2f}') 9 print()
截图:

浙公网安备 33010602011771号