蟒蛇入门笔记 [XXII] 案例:士兵突击
最编程
2024-05-26 11:19:21
...
class Gun:
def __init__(self, model):
# 1.枪的型号
self.model = model
# 2.子弹的数量
self.bullet_count = 0
# 装填子弹
def add_bullet(self, count):
self.bullet_count += count
# 射击
def shoot(self):
# 1.判断子弹数量
if self.bullet_count <= 0:
print("[%s]没有子弹了[%d]" % (self.model, self.bullet_count))
return
# 2.发射子弹, -1
self.bullet_count -= 1
# 3.提示发射信息
print("哒哒哒[%d]" % self.bullet_count)
class Soldier:
def __init__(self, name):
# 1.姓名
self.name = name
# 2.枪,新兵没有枪
self.gun = None
def fire(self):
# 1.判断士兵是否有枪
# if self.gun == None:
if self.gun is None:
print("尴尬[%s]还没有枪" % self.name)
return
# 2.高喊口号
print("冲嘎!!")
# 3.装填子弹
if self.gun.bullet_count <= 0:
self.gun.add_bullet(50)
# 4.射击
self.gun.shoot()
# 1.创建枪对象
ak = Gun("AK")
ak.add_bullet(45)
ak.shoot()
# 2.创建士兵许三多
xu_san_duo = Soldier("许三多")
xu_san_duo.gun = ak
while xu_san_duo.gun.bullet_count > 0:
xu_san_duo.fire()
print("士兵许三多出色完成任务")
上一篇: 解释 python 中的元类
下一篇: Python3 中类的静态、普通和类方法