实验五
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(4000)
a2.withdraw(10000)
a2.withdraw(5000)
a1.info()
a2.info()

2.
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(4000)
a2.withdraw(10000)
a2.withdraw(5000)
a1.info()
a2.info()
if __name__ == '__main__':
print('模块信息: ', __doc__)
print('Account类信息: ', Account.__doc__)
main()

3.
class Shape:
def info(self):
print('形状基类')
class Rect(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):
def __init__(self, x, y, radius):
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
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()

5.
class StudentDoc:
def __init__(self,num,name,major,score):
self.num = num
self.name = name
self.major = major
self.score = score
def inf(self):
print(f'学号:{self.num},姓名:{self.name},专业:{self.major}')
def sco(self):
print(f'分数:{self.score}')
def alter(self,new_score):
self.score = new_score
print(f'{self.name}新的分数:{new_score}')
import main
x1 = main.StudentDoc('6','dog','xxx','59')
x2 = main.StudentDoc('66','cat','yyy','99')
x1.inf()
x1.sco()
x2.inf()
x2.sco()
x1.alter(60)
x2.alter(100)

实验总结:通过对于类与模块的学习,让我更好的掌握了对于函数调用等知识。避免了一些代码的重复写作,节省大量的精力。对于这一次实验,除了让我掌握了新的知识之外,还认识到了一些方面的不足,希望今后可以弥补缺漏,更进一步。

浙公网安备 33010602011771号