本人今天第一次接触项目,花了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. JS 循环定时的一些思考

    网上也有例子, function doSetTimeout(i) { setTimeout(function() { console.log(i); }, 1000); } for (var i = ...

  2. kettle使用记录

    1.linux系统抽取数据 export KETTLE_HOME=/home/oracle/Kettle/pdi-ce-6.1.0.1-196/data-integration export JAVA ...

  3. Operation System

  4. 项目Alpha冲刺(团队)-第四天冲刺

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 作业目标:描述第三天冲刺的项目进展.问题困难.心得体会 ...

  5. gitlab 随笔

    输入: $ git init $ git add . $ git commit -m 'init commit' 绿色部分为gitlab网页的项目创建后下面的ssh路径,也可以通过查看gitlab网页 ...

  6. 修改Maven仓库路径

    我自己新建的地址:D:\apache-maven-3.6.0\repository 找到:localRepository,修改为自定义的位置 在IDEA里面进行配置 这样项目的maven仓库地址就修改 ...

  7. 有名的素MM

    from math import sqrt item=[] for yr in [1988,1989]: for mth in range(1,13): if mth in [1,3,5,7,8,10 ...

  8. OverFeat学习

    [OverFeat Integrated Recognition,Localization and Detection using Convolutional Networks] Pierre Ser ...

  9. Mac 下GitHub 访问慢解决方案

    1.GitHub下载是指向了Amazon的服务器 下载地址是http://github-cloud.s3.amazonaws.com/   解决方案是更改host文件,使该域名指向香港的服务器 2.去 ...

  10. Jenkins job之间依赖关系配置(联动构建)

    使用场景: 想要在某APP打新包之后,立即执行自动化测试的job来验证该新包.比如Job A 执行完执行Job B ,如下图所示,如何建立依赖呢? 主要有两种方法: 1.配置上游依赖: 2.配置下游依 ...