实验五

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)

 

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

posted @ 2021-05-25 18:19  谢尔比  阅读(47)  评论(0)    收藏  举报