Python_laiyfe 2019-12-14 23:15 采纳率: 0%
浏览 20708

请问大神,报错in <module>,怎么解决

"京巴":30,
"藏獒":45,
"二哈":15,

}

def dog(name,d_type):

data = {
    "name":name,
    "d_type":d_type,
    #"attack_val":d_type,
    "life_val":100
}
if d_type in attack_vals:
    data["attack_val"] = attack_vals[d_type]
else:
    data["attack_val"] = 15

def dog_bite(person_obj):
    person_obj["life_val"] -= data["attack_val"]
    print("狗[%s]咬了人[%s]一口,人掉血[%s],人还剩血量[%s]..." % (data["name"],
                                                   person_obj["name"],
                                                   data["attack_val"],
                                                   person_obj["life_val"]))
data["bite"] = dog_bite
return data

def person(name,age):
data = {
"name":name,
"age":age,
"life_val":100
}
if age > 18:
data["attack_val"] = 35
else:
data["attack_val"] = 15
return data

def person_bate(dog_obj):
    dog_obj["life_val"] -= person_obj["attack_val"]
    print("人[%s]打了狗[%s]一棒,狗掉血[%s],狗还剩血量[%s]..." % (data["name"],
                                                   dog_obj["name"],
                                                   data["attack_val"],
                                                   dog_obj["life_val"]))
data["beat"] = person_bate
return data

P1 = person("Laiyfe",25)
d1 = dog("MJJ","二哈")

P1"beat"

**Traceback (most recent call last):
  File "F:/Code/2019.12.12/venv/2.py", line 55, in <module>
    P1["beat"](d1)
KeyError: 'beat'**

  • 写回答

1条回答

  • 'ゞBibo。 2019-12-16 15:55
    关注

    字典P1没有beat这个key,打印下P1看看呗

    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多