python class类的属性应用及init初始化实践 ---勇者斗恶龙
最近在熟悉python的基础语法,刚好老师布置了个课后作业感觉挺有意思的,就记录下来了学习过程。
题目如下:

刚拿到题目就想到了init 初始化属性,还列了下思路:(ps:notepad++写的比较糙)

最终成品就长这样,编码的时候还遇到用A的攻击攻击A的情况,后来修正了一波,勉强算是符合老师的要求了。里面的数据没考虑合理性, 有软测的可以帮忙跑跑找找bug。也欢迎完善指正~~
#!/usr/bin/python3
# -*- coding: utf- -*-
# @Time : //::
# @Author : 翼风语 import random
class hero():
def __init__(self, hp, ap, wq=):
'''
set default param
:param hp: 生命
:param ap: 攻击
:param wq: 武器伤害
'''
self.hp = hp
self.ap = ap
self.wq = wq def hurt(self,value):
self.hp = self.hp - value
print("勇者受到了 "+str(value)+" 点伤害,生命还有"+str(self.hp))
if(self.hp <= ):
print("一切都是命中注定,是否卷土重来?")
raise class dinosaur():
def __init__(self, hp, ap):
"""
set default param
:param hp:
:param ap:
"""
self.hp = hp
self.ap = ap
def hurt(self,value):
self.hp = self.hp - value
print("恶龙受到了 "+str(value)+" 点伤害,生命还有"+str(self.hp))
if(self.hp <= ):
print("恭喜你完成了‘世界和平’任务")
raise if __name__ == "__main__":
su = hero(,,)
mk = dinosaur(,)
n =
while True:
i = random.randint(,) # 伤害上限高
j = random.randint(,) # 输出比较稳
try:
print("-------round:%s------" % str(n))
su.hurt(i+mk.ap)
mk.hurt(j+su.ap+su.wq)
n= n+
except:
break
最后贴上执行效果图:在第二十七回合 --世界和平了

python class类的属性应用及init初始化实践 ---勇者斗恶龙的更多相关文章
- Python的类实例属性访问规则
一般来说,在Python中,类实例属性的访问规则算是比较直观的. 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此. 在这里,我们需要明白以下几个地方: 1.Pytho ...
- python基础-类的属性(类属性,实例属性,私有属性)
一:类的属性 类的属性分为:类属性(公有属性),实例属性和私有属性. 1)类属性(公有属性(静态字段): 类定义时直接指定的属性(不是在__init__方法中),可以通过类名直接访问属性,并且保存 ...
- python 打印类的属性、方法
打印变量db的类(class):[root@fuel ~]# pythonPython 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)[GCC 4.4.7 2012 ...
- python 获取类的属性
如果不清楚一个对象是否拥有某个属性,可以使用内置函数hasattr 访问一个对象的属性的方法是通过特别属性__dict__,它是一个映射,将属性名称映射到属性值 为了调试方便,可以添加下面这个函数 d ...
- Python 私有化类的属性
class MandgerSec: def __init__(self,name,gender,level): self.type=("fire",None) self.name= ...
- Angular2入门:TypeScript的类 - 参数属性:定义和初始化类成员
- python 元类的简单解释
本文转自博客:http://www.cnblogs.com/piperck/p/5840443.html 作者:piperck python 类和元类(metaclass)的理解和简单运用 (一) p ...
- guxh的python笔记六:类的属性
1,私有属性 class Foo: def __init__(self, x): self.x = x 类的属性在实例化之后是可以更改的: f = Foo(1) print(f.x) # 1 f.x ...
- 1.面向过程编程 2.面向对象编程 3.类和对象 4.python 创建类和对象 如何使用对象 5.属性的查找顺序 6.初始化函数 7.绑定方法 与非绑定方法
1.面向过程编程 面向过程:一种编程思想在编写代码时 要时刻想着过程这个两个字过程指的是什么? 解决问题的步骤 流程,即第一步干什么 第二步干什么,其目的是将一个复杂的问题,拆分为若干的小的问题,按照 ...
随机推荐
- django 引入静态文件(前端样式等)
1.首先在主项目目录下settings.py文件中添加如下代码 2.然后在主项目目录,app项目同级目录下新建static文件夹并在文件夹中新建css文件夹,用于存放css文件,如下: 3.前端渲染时 ...
- Unsafe中CAS的实现
前言 Unsafe 是位于 sun.misc 包下的一个类.Unsafe 提供的 API 大致可分为内存操作.CAS.Class 相关.对象操作.线程调度.系统信息获取.内存屏障.数组操作等几类.由于 ...
- git 查看commit的提交记录
相关命令: git log 查看所有提交记录 git show 查看提交详情 示例: git log: git show: 查看指定commit的详情:git show commitId 查看某次c ...
- Android平台接入OneNET
1. OneNET简介 中国移动物联网开放平台是由中国移动打造的PaaS物联网开放平台. 平台能够帮助开发者轻松实现设备接入与设备连接,提供综合性的物联网解决方案,实现物联网设备的数据获取,数据存储, ...
- 03.文件I/O
UNIX系统中的大多数文件I/O只需用到5个函数:open.read.write.lseek和close. 本章所说明的函数称为不带缓冲的I/O.不带缓冲指的是每个read和write都调用内核中的一 ...
- Python+Appium实现自动化测试
一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android ...
- Quantitative Proteomics of Enriched Esophageal and Gut Tissues from the Human Blood Fluke Schistosoma mansoni Pinpoints Secreted Proteins for Vaccine Development (解读人:张聪敏)
文献名:Quantitative Proteomics of Enriched Esophageal and Gut Tissues from the Human Blood Fluke Schist ...
- Mycat的简介及安装
Mycat简介: 1.1Mycat含义 简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务.ACID.可以替代Mysql的加强版数据库 一个可以视为“Mysql” ...
- python爬虫之beautifulsoup的使用
一.Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释:Beautiful Soup提供一些简单的.python式 ...
- R之Shiny学习笔记
官方教程:https://shiny.rstudio.com/tutorial/ 中文教程:http://yanping.me/shiny-tutorial/ 英文教程:https://deanatt ...