首页 > 编程语言 >10.1纯函数面向对象编程

10.1纯函数面向对象编程

时间:2022-09-07 19:12:25浏览次数:91  
标签:10.1 函数 hp dog person dict 面向对象编程 ad name

# 人狗大战
# 人- 角色
# 名称 等级 血量 攻击力 性别 职业

# zhangsan = {'name': "zhangsan", 'level': 1, 'hp': 200, 'ad': 40, '性别': '不详', '职业': '射手'}
#
# lisir = {'name': "lisir", 'level': 1, 'hp': 400, 'ad': 20, '性别': '真男人', '职业': '战士'}


# 人- 角色模板
def person(name, hp, ad, sex, job, level=1):
person_dict = {
'name': name,
'level': level,
'hp': hp,
'ad': ad,
'性别': sex,
'职业': job
}
return person_dict


zs = person('zhangsan', 200, 40, '不详', '射手')
print(zs)

lisir = person('lisir', 400, 20, '男', '战士')


#
# # 狗-角色模板
# def dog(name, kind, hp, ad):
# dog_dict = {
# 'name': name,
# 'kind': kind,
# 'hp': hp,
# 'ad': ad
#
# }
# return dog_dict
#
# tg = dog('舔狗', '土狗', 1000, 50)
# hsq = dog('警犬', '哈士奇', 500, 60)


# def attack(person,dog):
# '''人打狗,狗掉血'''
# dog['hp'] = dog['hp'] - person['ad']
# print('%s攻击了%s,%s掉了%s血,还剩%s血'%(
# person['name'],
# dog['name'],
# dog['name'],
# person['ad'],
# dog['hp'] ))
#
#
# attack(lisir,tg)
#
#
# def bite(dog,person):
# person['hp'] = person['hp'] -dog['ad']
# print('%s咬了%s,%s掉了%s血,还剩%s血'%(
# dog['name'],
# person['name'],
# person['name'],
# dog['ad'],
# person['hp'] ))
#
# bite(hsq,zs)
# bite(lisir,tg)


def person(name, hp, ad, sex, job, level=1):
person_dict = {
'name': name,
'level': level,
'hp': hp,
'ad': ad,
'性别': sex,
'职业': job
}

def attack(dog):
'''人打狗,狗掉血'''
dog['hp'] = dog['hp'] - person_dict['ad']
print('%s攻击了%s,%s掉了%s血,还剩%s血' % (
person_dict['name'],
dog['name'],
dog['name'],
person_dict['ad'],
dog['hp']))

person_dict['attack'] = attack
return person_dict


zs = person('zhangsan', 200, 40, '不详', '射手')
print(zs)
zs['attack'](zs)


def dog(name, kind, hp, ad):
dog_dict = {
'name': name,
'kind': kind,
'hp': hp,
'ad': ad

}

def bite(person):
person['hp'] = person['hp'] - dog_dict['ad']
print('%s咬了%s,%s掉了%s血,还剩%s血' % (
dog_dict['name'],
person['name'],
person['name'],
dog_dict['ad'],
person['hp']))

dog_dict['bite'] = bite

return dog_dict


tg = dog('舔狗', '土狗', 1000, 50)
tg['bite'](zs)
hsq = dog('警犬', '哈士奇', 500, 60)

标签:10.1,函数,hp,dog,person,dict,面向对象编程,ad,name
From: https://www.cnblogs.com/zhh0125/p/16666904.html

相关文章

  • 第六章 6 函数-迭代器与生成器 练习题
    第六章6函数-迭代器与生成器练习题[基础知识]1说说python中装饰器、迭代器的用法;描述下dict的items()方法与iteritems()方法的不同;解答:装饰器:装饰器是指对函数......
  • 面向对象编程
    背景:1.游戏引擎运行于操作系统上,操作系统又运行于特定的硬件(CUP/RAM/IO)上,因此硬件的瓶颈会限制游戏引擎的性能;2.由于摩尔定律接近天花板,芯片上晶体管的密集程度再增加的话......
  • mysql中find_in_set()函数的使用及in()用法详解
    这篇文章主要介绍了mysql中find_in_set()函数的使用以及in()用法详解,需要的朋友可以参考下 MySQL手册中find_in_set函数的语法解释:FIND_IN_SET(str,strlist)str要......
  • pgsql函数
    1.字符串替换 selectreplace('替换前字符串','需替换字符串','替换字符串'); 例:把2替换为5  selectreplace('123','2','5'); 2.字符串截取 selectsubs......
  • 学习 pyrhon进阶 魔法函数 持续更新
        delstu#手动回收对象stu当右键运行py文件的时候当做脚本文件运行运行结束后会回收变量  结果 ......
  • 【Python】 map() 函数
    map()函数map(function,iterable,...)>>>importmap#计算平方>>>list(map(lambda:x:x**2,[1,2,3,4,5]))#使用lambda匿名函数[1,4,9,16,25]#提供了两个......
  • js四种异步方法(回调函数、Promise、Generator、async/await)
    由于JS运行环境是单线程的,即一次只能完成一个任务,所以多任务时需要排队。异步可以理解为改变执行顺序的操作,异步任务必须在同步任务执行结束之后,从任务队列中依次取出执行......
  • 员工客户及财务客户新建函数
    有的公司在员工报销或者付银行利息时候需要建立客户,此时只需要扩展财务视图即可以,所以用不到很复杂的客户信息,一般只需要一个名称及一个科目就可以。所以此时用了一个接口......
  • 10.10 斐波那契数列_本章总结
      #斐波那契数列 计算  1,1,2,3,5,8  后面的数为前面两数相加deffib(n):ifn==1:return1elifn==2:return1else:......
  • GANs的优化函数与完整损失函数计算
    生成对抗网络(GANs)近年来在人工智能领域,尤其是计算机视觉领域非常受欢迎。随着论文“GenerativeAdversarialNets”[1]的引入,这种强大生成策略出现了,许多研究和研究项目......