本人今天第一次接触项目,花了4小时,不包括学习时间,特此留个纪念

记录一下那些年走过的坑,以资鼓励

英语不怎么好,随缘看看

内容:

类似田忌赛马,三盘两胜,属性人物在一定范围内随机,就这样了

code:

 import random,time

 # 需要的数据和变量
player_list = ['【狂血战士】','【森林箭手】','【光明骑士】','【独行剑客】','【格斗大师】','【枪弹专家】']
enemy_list = ['【暗黑战士】','【黑暗弩手】','【暗夜骑士】','【嗜血刀客】','【首席刺客】','【陷阱之王】'] list1=random.sample(player_list,3)#随机选取3个随机数
list2=random.sample(enemy_list,3) list1_info={}
list2_info={}
dict1={} # 随机生成角色的属性
def born_role():
player_life =random.randint(100,130)#模块.功能
playeer_attack =random.randint(30,50)
return player_life,playeer_attack # 生成和展示角色信息
def show_role():
print('--------田忌赛马--------')
print('------角色信息-----')
print('你的人物')
for i in range(3):
list1_info[list1[i]]=born_role()
list2_info[list2[i]]=born_role() for i in range(3):
print('%s生命:%d,攻击:%d'%(list1[i],list1_info[list1[i]][0],list1_info[list1[i]][1]))#键中取值
print('------------------------') print('敌人的角色') for i in range(3):
print('%s生命:%d,攻击:%d'%(list2[i],list2_info[list2[i]][0],list2_info[list2[i]][1]))
print('------------------------')
input('请按任意键继续')
print('') # 角色排序,选择出场顺序。
def order_role():
global list1#用于改变全局变量
for i in range(3):
chose=input('你打算将 '+list1[i]+' 放在哪次出场?(选择1,2,3)')
while chose not in ['','','']:
chose=input('你打算将 '+list1[i]+' 放在哪次出场?(选择1,2,3)')
chose=int(chose)
dict1[chose]=list1[i] list1=[]
for i in range(1,4):
list1.append(dict1[i])#将字典中的值加入列表 print('')
print('我方出场的角色: %s %s %s '%(list1[0],list1[1],list1[2]))#注意添加括号
print('敌人出场的角色: %s %s %s '%(list2[0],list2[1],list2[2]))
print('') # 角色PK
def pk_role():
score=0
rand=1
for i in range(3):
print('-----这是第%d局比赛----'%rand)
print('%s vs %s'%(list1[i],list2[i]))
print('%s生命:%d,攻击:%d'%(list1[i],list1_info[list1[i]][0],list1_info[list1[i]][1]))
print('%s生命:%d,攻击:%d'%(list2[i],list2_info[list2[i]][0],list2_info[list2[i]][1]))
print('')
input('请按任意键继续')
print('')
rand+=1
player_life =list1_info[list1[i]][0]
player_attack =list1_info[list1[i]][1]
enemy_life =list2_info[list2[i]][0]
enemy_attack =list2_info[list2[i]][1] while (player_life>0) and (enemy_life>0):#and小写
player_life -= enemy_attack
enemy_life -= player_attack
print('%s发起了攻击,%s剩余血量为%d'%(list1[i],list2[i],enemy_life))
print('%s发起了攻击,%s剩余血量为%d'%(list2[i],list1[i],player_life))
print('-----------------------')
time.sleep(0.5) result=show_result(player_life,enemy_life)
score+=result[0] print(result[1])
time.sleep(1.5)
if score>0:
print('')
print('[结局为你赢了]\n')
print('')
elif score==0:
print('')
print('[结局为平局了]')
print('')
else:
print('')
print('[结局为你输了]')
print('') # 返回单局战果和计分法所加分数。
def show_result(player_life,enemy_life):
if player_life>enemy_life:
score=1
print('')
result='你赢了'
print('')
elif player_life<enemy_life:
score=-1
print('')
result='敌人赢了'
print('')
else :
score=0
print('')
result='平局'
print('')
return score,result # (主函数)展开战斗流程
def main():
show_role()
order_role()
pk_role() # 启动程序(即调用主函数)
main()

3月6号接触Python3到现在做个小程序,真心感觉学的不怎么扎实,各种磕磕绊绊。

更新日志-------------------------------

19.3.16

加了容错,加了时间间隔

-----------------------------------------

愿风雨的路上,一路前行

Python3-大魔王小项目-田忌赛马的更多相关文章

  1. python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)

    ''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_ ...

  2. 【实战小项目】python开发自动化运维工具--批量操作主机

    有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子.只不过,很多运维同学学习Python之后,苦于没小项目训练.本篇就演示用Python写一个批量操作主机的工 ...

  3. web实践小项目<一>:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

    暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进 ...

  4. MySQL 只能做小项目?松哥要说几句公道话!

    松哥上学那会,很多人对 MySQL 有一些偏见,偏见主要集中在以下几方面: MySQL 不支持事务(事实上 MyISAM 有表锁,但是效率比较低) MySQL 存储的数据量比较小,适合小项目,大项目还 ...

  5. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  6. IOS-小项目(饿了么 网络部分 简单实现)

    在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是 ...

  7. Andriod小项目——在线音乐播放器

    转载自: http://blog.csdn.net/sunkes/article/details/51189189 Andriod小项目——在线音乐播放器 Android在线音乐播放器 从大一开始就已 ...

  8. 模拟XShell的小项目

    不知道大家有没有用过XShell这款工具,这款工具通过windows可以远程操作处于开机状态的linux操作系统,也就是说把你的电脑和一台服务器连入网络,你通过输入服务器所在的IP地址建立一个会话就可 ...

  9. 小项目特供 贪吃蛇游戏(基于C语言)

    C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第 ...

随机推荐

  1. 模拟赛20181016 dp

    给出1-n的序列插入一个bst: 给出T组询问,包含n,h分别代表点数为n,高度为h的树,求所有插入顺序的合法方案数,模1e9+7 样例输入 1 2  1 样例输出 2 #include<bit ...

  2. python3 练手实例7 斐波那契数列

    '''a,b=0,1 x=int(input('请指定需要多少项:')) while x>0: print(b) a,b=b,a+b x-=1''' #递归 def fibo(n): if n& ...

  3. matlab 加根号

    text(3,0.5,'z=0.2$$\sqrt{c/h_0}$$+0.3','interpreter','latex')

  4. 理解 YOLO

    YOLO: 1. YOLO的网络结构 YOLO v1 network (没看懂论文上的下图,看下面这个表一目了然了) 24层的卷积层,开始用前面20层来training, 图片是224x224的,然后 ...

  5. setLocale(java.util.Locale), setCharacterEncoding(java.lang.String),setContentType(java.lang.String type)

    对于setCharacterEncoding(java.lang.String),这个方法是javax.servlet.ServletRequest和javax.servlet.ServletResp ...

  6. Linux 下的各种环境安装

    Linux 下的各种环境安装 1.安装 python Centos7  安装  python 2.7 : https://www.cnblogs.com/Jomini/p/10507077.html ...

  7. C#使用RabbitMQ(转)

      1. 说明 在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地 ...

  8. centos6.8编译安装mysql

    1.安装编译代码需要的包 yum -y install make gcc-c++ cmake bison-devel ncurses-devel 2.创建mysql用户(但是不能使用mysql账号登陆 ...

  9. Linux代理搭建TinyProxy

    操作系统:阿里云CentOS 7.4 64位 安装方法: yum install tinyproxy 配置: vi /etc/tinyproxy/tinyproxy.conf Port 8888 // ...

  10. SQL CE 和 SQLite数据库对比测试

    于项目需要,在客户端需要做数据存储功能,考虑到部署方便同时满足功能需要的情况下选择了SQLCE 和SQLite两种数据库进行客户端数据存储.当然还有很多其他的方式做本地数据存储,比如本地文件存储.微软 ...