zoukankan      html  css  js  c++  java
  • 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())
  • 相关阅读:
    完全背包详解
    0-1背包详解
    优先队列 + 模拟
    循环节 + 矩阵快速幂
    并查集 + 路径压缩(经典) UVALive 3027 Corporative Network
    dp
    动态规划分类(完整版)
    (二)Spring框架之JDBC的基本使用(p6spy插件的使用)
    (一)Spring框架基础
    (十六)客户端验证与struts2中的服务器端验证
  • 原文地址:https://www.cnblogs.com/fumy/p/10650687.html
Copyright © 2011-2022 走看看