• 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())
  • 相关阅读:
    android使用wcf接收上传图片视频文件
    android获取时间差的方法
    android JSON 技术
    Android LogCat使用详解
    VS2013菜单栏文字全大写的问题
    Mysql5.7安装配置
    解决Android Studio Gradle Build Running慢的问题
    Mysql创建用户并授权
    Windows 7 常用快捷键
    Python CRC16校验算法
  • 原文地址:https://www.cnblogs.com/fumy/p/10650687.html
Copyright © 2020-2023  润新知