python问题请教:大佬们 AttributeError: 'int' object has no attribute 'save_bullet'

python 专栏收录该内容
1 篇文章 0 订阅

coding=utf-8

class Person(object):
“”“人的类”“”
def init(self,name):
super(Person, self).init()
self.name = name
self.gun = None
self.hp = 100

def zhuang_dan(self,dan_jia,zi_dan):
    #dan_jia.save_bullet(zi_dan)
    dan_jia.save_bullet(zi_dan)

def zhuang_dan_jia(self,gun,dan_jia):
    gun.save_dan_jia(dan_jia)   

def na_qiang(self,gun):
    self.gun = gun

def fire(self,enemy):
    self.gun.fire_somebody(enemy)

def diao_xue(self,sha_shang_li):
    self.hp -= sha_shang_li 


def __str__(self):
    if self.gun:
        return "%s的血量为%d, 有%s枪"%d(self.name,self.hp,self.gun)
    else:
        return "%s的血量为%d, 没有枪"%d(self.name,self.hp) 

class Gun(object):
“”“枪的类”“”
def init(self,name):
super(Gun, self).init()
self.name = name
self.dan_jia = None
def save_dan_jia(self,dan_jia):
self.dan_jia = dan_jia
def fire_somebody(self,enemy):
shot = self.dan_jia.fire_some()
shot.hit(enemy)

def __str__(self):
    if self.dan_jia:
        return "枪的信息:%s,%s"%s(self.name,self.dan_jia)
    else:
        return "枪的信息:%s, 没有弹夹"%s(self.name)         

class Dan_jia(object):
“”“弹夹类”“”
def init(self, max_bullet):
super(Dan_jia, self).init()
self.max_bullet = max_bullet
self.bullet_list = []

def save_bullet(self,zi_dan):
    self.bullet_list.append(zi_dan)

def fire_some(self):
    if self.bullet_list:
        return self.bullet_list.pop()
    else:
        return None         

class Zi_dan(object):
“”“子弹类”“”
def init(self, sha_shang_li):
super(Zi_dan, self).init()
self.sha_shang_li= sha_shang_li
def hit(self,enemy):
enemy.diao_xue(self.sha_shang_li)

def main():
”’
1.创建老王对象
2.创建枪对象
3.创建弹夹
4.创建子弹
5.弹夹装子弹
6.弹夹装枪
7.老王拿枪
8.创建敌人
9.开枪
”’

lao_wang = Person("老王")
AK = Gun("AK")
dan_jia_1 = (20)
zi_dan = Zi_dan(10)
lao_wang.zhuang_dan(dan_jia_1,zi_dan)
lao_wang.zhuang_dan_jia(AK,dan_jia_1)
lao_wang.na_qiang(AK)
lao_song = Person("老宋")
lao_wang.fire(lao_song)
print(lao_wang)
print(lao_wang)

if name == ‘main‘:
main()
/**************************************/
报错如下:
Traceback (most recent call last):
File “lao_wang.py”, line 109, in
main()
File “lao_wang.py”, line 97, in main
lao_wang.zhuang_dan(dan_jia_1,zi_dan)
File “lao_wang.py”, line 12, in zhuang_dan
dan_jia.save_bullet(zi_dan)
AttributeError: ‘int’ object has no attribute ‘save_bullet’

Repl Closed

  • 0
    点赞
  • 2
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论2
请先登录 后发表评论~
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

137??

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值