# 士兵突击
# 士兵许有一把 AK47
# 士兵可以开火
# 枪能够发射 子弹
# 枪装填装填子弹 —— 增加子弹数量
class Soldier:
"""士兵"""
def __init__(self, name):
self.name = name
self.gun = None
def __str__(self):
return "士兵%s,枪%s" % (self.name, self.gun)
def fire(self):
"""开火"""
if self.gun is None:
print("没枪")
else:
self.gun.shoot()
class Gun:
"""枪"""
def __init__(self, model):
self.model = model
self.bullet_count = 0 # 弹量
def __str__(self):
return "%s:弹量%d" % (self.model, self.bullet_count)
def add_bullet(self, count):
"""填装子弹"""
print("装弹%d发" % count)
self.bullet_count += count
def shoot(self):
"""射击"""
if self.bullet_count > 0:
self.bullet_count -= 1
print("射击,剩余弹量%d" % self.bullet_count)
else:
print("没子弹了")
xu = Soldier("许")
xu.gun = Gun("AK47")
print(xu)
xu.fire()
xu.gun.add_bullet(50)
print(xu)
xu.fire()
Python:士兵与枪(类的使用)
最新推荐文章于 2022-09-06 16:22:14 发布