# 项目实训 人狗大战 # 多个人 多条狗 多个属性 名字 种类 攻击力 生命力进行设值 # 先创狗 #数据太多了 依次复制太过复杂 这时候就可以写一个def然后整体调用更改数据即可 attack_vals={ "哈士奇":5, "金毛":10, "藏獒":40 } def person(name,age): data={ "name":name, "age":age, "d_type":"人类", "life_val":999999999, } if age>18: data["attack_val"]=500#添加值进字典 else: data["attack_val"]=300 return data x1=person("雷云腾",19) x2=person("杜俊枫",17) def dog_bite(dog_obj,person_obj): person_obj['life_val']-=dog_obj['attack_val']#执行咬人的动作 print("狗[%s]咬了人[%s]一口,人掉血[%s],还剩下[%s]血量...." %(dog_obj['name'],person_obj["name"],dog_obj['attack_val'],person_obj['life_val'])) def person_beat(person_obj,dog_obj): dog_obj['life_val']-=person_obj['attack_val'] print("人[%s]暴打一只小狗狗[%s]一棒,小狗掉血[%s],还剩下[%s]血量....."%(person_obj['name'],dog_obj['name'],person_obj['attack_val'],dog_obj['life_val'])) def dog(name,d_type): Data = { "name": name,#传参 "d_type": d_type, "attack_val":30, "life_val":100 } if d_type in attack_vals: Data["attack_val"]=attack_vals[d_type] else: Data["attack_val"]=12 return Data d1=dog("余星舟","哈士奇")#赋值 d2=dog("张力文","金毛") d3=dog("刘江","藏獒") d4=dog("李盟原","边牧") d5=dog("肖瑞丰","香肠狗") d6=dog("李锐鑫","西伯利亚犬") dog_bite(d1,x1) dog_bite(d2,x1) dog_bite(d3,x2) dog_bite(d5,x2) dog_bite(d6,x1) person_beat(x1,d1) person_beat(x1,d2) person_beat(x1,d4) person_beat(x2,d3) person_beat(x2,d5)
www.tstingmi.com 提供内容。
内容参考:
1.https://blog.csdn.net/m0_62491934/article/details/123172046