python笔记25 作业练习 决战

在这里插入图片描述

# 两个人物
# 属性
# name 玩家名字
# blood 血量

# 方法
# tong() 捅对方一🔪,对方掉十滴血
# kanren() 砍对方一刀 对方掉血15滴
# chiyao() 吃一颗药 补血10滴
# __str__ 打印玩家状态

# 第一步 定义类 角色类
import time #导入时间的包
class Role:
    def __init__(self,name,hp):
        '''
        构造初始化函数
        定义实例属性
        名字 和血量
        '''
        self.name=name
        self.hp=hp
        pass
    def tong(self,enemy):
        '''
        捅一刀
        :param enemy: 敌人掉10血
        :return:
        '''
        enemy.hp-=10
        info='【%s】捅了【%s】一刀'%(self.name,enemy.name)
        print(info)
        pass
    def kanren(self,enemy):
        '''
        砍人
        :param enemy: 敌人掉15血
        :return:
        '''
        enemy.hp-=15
        info = '【%s】捅了【%s】一刀' % (self.name, enemy.name)
        print(info)
        pass
    def chiyao(self):
        '''
        吃药
        :return:
        '''
        self.hp+=10
        info = '【%s】吃了一颗药,增加10滴血' % (self.name)
        print(info)
        pass
    def __str__(self):
        return '%s 还剩下 %s 的血量'%(self.name,self.hp)

# 创建两个实例化对象【西门吹雪、叶古城】

xmcx=Role('西门吹雪',100)
ygc=Role('叶孤城',100)
while True:
    if xmcx.hp<=0 or ygc.hp<=0:
        # 满足条件就退出循环
        break
    xmcx.tong(ygc)
    print(xmcx)  # 打印对象状态
    print(ygc)
    print('**************************************************')
    ygc.tong(xmcx)
    print(xmcx)  # 打印对象状态
    print(ygc)
    print('**************************************************')
    xmcx.chiyao()
    print(xmcx)  # 打印对象状态
    print(ygc)
    print('**************************************************')
    time.sleep(1) #暂停一秒
    pass
print('对战结束.......')

在这里插入图片描述
小结
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 1. 通过类来创建对象
class Student:
    def __init__(self,name,sex,project):
        self.name=name
        self.sex=sex
        self.project=project
        pass
    pass
xxn=Student('小仙女','男','仙子的自我修养')
print(xxn.name,xxn.sex,xxn.project)

在这里插入图片描述

# 2.创建水果类,创建对象苹果、句子、西瓜并添上颜色属性
class Fruit:
    def __init__(self,name):
        self.name=name
        # self.color=color
        pass
    pass
a=Fruit('苹果')
o=Fruit('橘子')
w=Fruit('西瓜')
a.color='绿色'
o.color='蓝色'
w.color='黄色'
print(a.name,a.color,o.name ,o.color ,w.name ,w.color )

在这里插入图片描述

# 4.编写代码,验证self就是实例本身
class Role():
    def run(self):
        print('self=%d'%(id(self)))
        pass
    pass
xm=Role()
xm.run()
print('xm=%d'%(id(xm)))

在这里插入图片描述

5.定义一个annimal类

# 1. 使用__init__初始化对象属性,如颜色、名字、年龄
# 2. 定义动物方法 如 run eat 等 如调用eat方法时打印在吃东西
# 3.使用__str__函数来打印出对象的所有属性
class Animal:
    def __init__(self,color,name,age):
        self.name=name
        self.color=color
        self.age=age
        pass
    def eat(self):
        print('%s在吃东西'%self.name)
        pass
    def run(self):
        print('%s在跑步'%self.name)
        pass
    def __str__(self):
        return '名字:%s 颜色:%s 年龄:%d'%(self.name,self.color,self.age)
    pass
cat=Animal('黑白','猫',2)
cat.eat()
cat.run()
print(cat)

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值