1、人狗大战(组合)

class Person:
def __init__(self,name,hp,aggr,sex,money):
self.name=name
self.hp=hp
self.aggr=aggr
self.sex=sex
self.money=money
def atta(self,dog):
dog.hp-=self.aggr
def get_weapon(self,weapon):
if self.money>=weapon.price:
self.money-=weapon.price
self.weapon=weapon
print("购买成功")
self.aggr+=weapon.aggr
else:
print("金币不足,无法购买")
class Dog:
def __init__(self,name,hp,aggr,kind):
self.name=name
self.hp=hp
self.aggr=aggr
self.kind=kind
def bite(self,person):
person.hp-=self.aggr
class Weapon:
def __init__(self,name,aggr,price,count):
self.name=name
self.aggr=aggr
self.price=price
self.count=count
def dazhao(self,dog):
if self.count>0:
dog.hp-=self.aggr*2
self.count-=1
else:
print("大招使用次数已达上限")
pis=Person("pis",100,10,"male",10000)
naix=Dog("naix",600,100,"ghost")
sj=Weapon("圣剑",300,6200,1)
pis.get_weapon(sj)
print(pis.aggr)
pis.atta(naix)
print(naix.hp)
pis.weapon.dazhao(naix)
print(naix.hp)
pis.weapon.dazhao(naix)

 2、计算环的面积和周长(组合)

#面向对象编程
import math
class Circle:
def __init__(self,r):
self.radius=r
def area(self):
return math.pi*(self.radius**2)
def perimeter(self):
return math.pi*(2*self.radius)
class Ring:
def __init__(self,r1,r2):
self.outside=Circle(r1)
self.inside=Circle(r2)
def area(self):
return self.outside.area()-self.inside.area()
def perimeter(self):
return self.outside.perimeter()+self.inside.perimeter()
ring=Ring(20,10)
print(ring.area())
print(ring.perimeter())

python练习题-day23的更多相关文章

  1. Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  2. Python练习题 027:对10个数字进行排序

    [Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...

  3. Python练习题 026:求100以内的素数

    [Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...

  4. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  5. Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  6. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  7. Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。

    Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...

  8. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

  9. python 基础 2.8 python练习题

    python 练习题:   #/usr/bin/python #coding=utf-8 #@Time   :2017/10/26 9:38 #@Auther :liuzhenchuan #@File ...

随机推荐

  1. css杂项补充

    css杂项补充 一.块与内联 1.块 独行显示 支持宽高,宽度默认适应父级,高度默认由子级或内容撑开 设置宽高后,采用设置的宽高 2.内联 同行显示 不支持宽高 margin上下无效果,左右会起作用, ...

  2. Codeforces 1120D Power Tree [最小生成树]

    洛谷 Codeforces 这题怎么一个中文题解都没有,是不是你们都认为太水了-- 思路 显然可以用dfs序把每个节点变成给一个区间的叶子节点加上某个数. 显然把叶子序列差分一下变为\(a_1,a_2 ...

  3. NOIP基本算法

    NOIP基本算法 1.二分 poj 2018 Best Cow Fences ▪ http://poj.org/problem?id=2018 ▪ 题意:给定一个正整数数列

  4. Penettation testing with the bush Shell

    1.  Network Reconnaissance first we can use the command to gather the site information by whois eg : ...

  5. RSF 分布式 RPC 服务框架的分层设计

    RSF 是个什么东西? 一个高可用.高性能.轻量级的分布式服务框架.支持容灾.负载均衡.集群.一个典型的应用场景是,将同一个服务部署在多个Server上提供 request.response 消息通知 ...

  6. Coverity代码扫描工具

    1.说明:Coverity代码扫描工具可以扫描java,C/C++等语言,可以和jenkins联动,不过就是要收钱,jenkins上的插件可以用,免费的,适用于小的java项目 2.这是Coverit ...

  7. 安装 Docker <一>

    一.docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制, ...

  8. PHP AES的加密解密-----【弃用】

    mcrypt_decrypt在PHP7.*已经被弃用,取而代之的是openssl_decrypt/encrypt,请参考: PHP7.* AES的加密解密 AES加密算法 密码学中的高级加密标准(Ad ...

  9. ionic2自定义radio样式

    刚开始以为用的是字体图标,结果翻了代码一看竟然是通过纯css实现的,图标模式用的是ios,代码如下: .radio-ios .radio-checked { margin:; border-radiu ...

  10. java实验5

    实验一要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java ...