判断frame是否已创建_类的创建

'''
1. 士兵 许三多 有一把 AK47
2. 士兵 可以开火
3. 枪 能够 发射 子弹
4. 枪 装填 子弹---增加子弹数量
'''

class Gun:

    def __init__(self,type):
        self.type = type
        # 刚开始枪没有子弹
        self.bullet_count = 0
    def __str__(self):
        return ("%s 已到位" % self.type)
    def shoot(self):
        # 1. 判断是否有子弹,如果有发射,如果没有返回
        if self.bullet_count is 0:
            print("%s 没有子弹,请装填子弹" % self.type)
            return
        self.bullet_count -= 1
        print("突突突...%d" % self.bullet_count)


class Soldier:

    def __init__(self,name):
        self.name = name
        # 新兵没有枪
        self.gun = None

    def fire(self,num):
        # 1 判断是否有枪
        if self.gun is None:
            print("%s 没有枪,无法参与战斗耶!" % self.name)
            return

        # 有枪发出口号
        self.gun.bullet_count = num
        print("冲啊!"*3)
        # 开火
        self.gun.shoot()

# 创建枪对象
ak_47 = Gun('AK47')
# 创建士兵对象
xu_san_duo = Soldier("许三多")

# 没有枪时
print(xu_san_duo.fire(50)) # 50 -- 装50发子弹

# 有枪时
# 给许三多赋予一把枪
xu_san_duo.gun = ak_47
print(xu_san_duo.fire(50))

运行结果:没有枪时

4dbda33642aaef140e998cdb0b30ab6c.png

运行结果:有枪时

17067a583d4314b8dbe09d563ff1feeb.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值