python练习题-day23
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的更多相关文章
- Python练习题 028:求3*3矩阵对角线数字之和
[Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...
- Python练习题 027:对10个数字进行排序
[Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...
- Python练习题 026:求100以内的素数
[Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...
- Python练习题 025:判断回文数
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...
- Python练习题 024:求位数及逆序打印
[Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...
- Python练习题 004:判断某日期是该年的第几天
[Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...
- Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。
Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...
- PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。
Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...
- python 基础 2.8 python练习题
python 练习题: #/usr/bin/python #coding=utf-8 #@Time :2017/10/26 9:38 #@Auther :liuzhenchuan #@File ...
随机推荐
- linux 乌班图 lnmp环境搭建
1.#安装Apache2,目前163的源是2.2.22版本02.sudo apt-get install apache203. 04.#安装MySQL,目前163的源是5.5.24版本05.apt-g ...
- Restful风格
今天看到一个比较好的文章,记录一下: Restful风格API中用put还是post做新增操作有什么区别? 1 HTTP协议详解 HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层 ...
- ECMAScript 6中数组新方法
数组的方法 数组的的大部分方法都可以实现数组的遍历. foreach方法 实现数组的遍历 const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.forEach(fu ...
- sql语句的删除
SQL中delete * from 和 delete from 有什么区别? 在SQL Server中两者没有区别,但在Oracle和MySQL的SQL语句中,delete * from是不标准的语法 ...
- Java项目使用SQLite数据库后无法启动的问题
背景: Java > maven 的 jar 项目 功能是记录用户的每天的按键次数 使用 jar2exe 工具将 jar 转为 exe 可执行文件 原本项目中使用的Mysql数据库,使用Myba ...
- Nhibernate 使用 (一)
一:介绍 NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库.Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具.NHibernate ...
- Class--2019-04-14
获取class对象,有三种方法: 1.通过类名.class直接访问 Class c = Integer.class; 2.通过Class.forName(类名)函数获取 Class c = Class ...
- poj1106-Post Office(DP)
Description There is a straight highway with villages alongside the highway. The highway is represen ...
- JS对象的拷贝
1:对数据进行备份的时候,如果这个数据是基本的数据类型,那么很好办,通过赋值实现复制即可. 赋值与浅拷贝的区别 var obj1 = { 'name' : 'zhangsan', 'age' : '1 ...
- Visual GC提示"不受此JVM支持“解决方案(配置jstatd)
Visual GC提示"不受此JVM支持“,如果想使用这个插件,就需要配置jstatd连接方式,下面来看jstatd的配置: 1.配置安全策略文件路径$JAVA_HOME/jre/lib/s ...