random模块和函数写pk小游戏和石头、剪刀、布
时间:2020-04-20
本文章向大家介绍random模块和函数写pk小游戏和石头、剪刀、布,主要包括random模块和函数写pk小游戏和石头、剪刀、布使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
利用random模块和函数写PK小游戏:
1 import random,time 2 3 4 player_list=['【狂血战士】','【森林箭手】','【光明骑士】','【独行剑客】','【格斗大师】','【枪弹专家】'] 5 enemy_list = ['【暗黑战士】','【黑暗弩手】','【骷髅骑士】','【嗜血刀客】','【首席刺客】','【陷阱之王】'] 6 players = random.sample(player_list,3) 7 enemys = random.sample(player_list,3) 8 player_info ={} 9 enemy_info ={} 10 11 def born_role(): 12 life = random.randint(100, 180) 13 attack = random.randint(30, 50) 14 return life,attack 15 16 def show_role1(): 17 for i in range(3): 18 player_info[players[i]] = born_role() 19 enemy_info[enemys[i]] = born_role() 20 print("------player--------") 21 print("角色信息") 22 for i in range(3): 23 print("%s 血量:%d 攻击:%d" % (players[i], player_info[players[i]][0], player_info[players[i]][1])) 24 print("------player--------") 25 print("敌人信息") 26 for i in range(3): 27 print("%s 血量:%d 攻击:%d" % (enemys[i], enemy_info[enemys[i]][0], enemy_info[enemys[i]][1])) 28 29 def order_role(): 30 global players 31 order_dic = {} 32 for i in range(3): 33 order = int(input("你想将%s 放在第几个上场?请输入(1-3)"%(players[i]))) 34 order_dic[order] = players[i] 35 players = [] 36 for i in range(1,4): 37 players.append(order_dic[i]) 38 # print(players) 39 40 def pk_role(): 41 round = 1 42 sorce = 0 43 for i in range(3): 44 # 提取玩家的角色名称 45 player_name = players[i] 46 enemy_name = enemys[i] 47 player_life = player_info[players[i]][0] 48 # 玩家血量是字典里的值(元组)的第0个元素,以下同理 49 player_attack = player_info[players[i]][1] 50 enemy_life = enemy_info[enemys[i]][0] 51 enemy_attack = enemy_info[enemys[i]][1] 52 # 每一局开战前展示战斗信息 53 print('\n----------------- 【第%d局】 -----------------' % round) 54 print('玩家角色:%s vs 敌方角色:%s ' % (player_name,enemy_name)) 55 print('%s 血量:%d 攻击:%d' % (player_name,player_life,player_attack)) 56 print('%s 血量:%d 攻击:%d' % (enemy_name,enemy_life,enemy_attack)) 57 print('--------------------------------------------') 58 input('请按回车键继续。\n') 59 while player_life >0 and enemy_life >0: 60 enemy_life = enemy_life - player_attack 61 player_life = player_life - enemy_attack 62 print('%s发起了攻击,%s剩余血量%d' % (player_name,enemy_name,enemy_life)) 63 print('%s发起了攻击,%s剩余血量%d'% (enemy_name,player_name,player_life)) 64 print('--------------------------------------------') 65 time.sleep(1) 66 else: 67 if player_life >0 and enemy_life <=0: 68 print("敌人挂了,你赢了") 69 sorce +=1 70 elif player_life <=0 and enemy_life >0: 71 print("敌人赢了,你输了!") 72 sorce += -1 73 else: 74 print("平局") 75 round +=1 76 input("---------点击回车,查看比赛结果:----------") 77 if sorce >0: 78 print("最终结果:你赢了!") 79 elif sorce<0: 80 print("最终结果:你输了!") 81 else: 82 print("最终结果:平局!") 83 def main(): 84 show_role1() 85 order_role() 86 pk_role() 87 88 main()
利用random模块和函数写石头、剪刀、布游戏:
1 import random 2 def UserInput(): 3 while 1: 4 user_choice = input("请输人你猜的拳【石头,剪刀,布】:") 5 computer = ["石头", "剪刀", "布"] 6 if user_choice not in computer: 7 print("输入error!") 8 continue 9 random_put = random.choice(computer) 10 if random_put == user_choice: 11 print("平局") 12 elif (random_put == "石头" and user_choice == "剪刀") or (random_put == "剪刀" and user_choice == "布"): 13 print("computer win! ") 14 else: 15 print("user win!")
原文地址:https://www.cnblogs.com/Tang-Yuan/p/12736503.html
- 如何使用深度学习去除人物图像背景
- 开源|人脸检测的C / C ++源代
- Python高性能计算库——Numba
- 最新|官方发布:TensorFlow 数据集和估算器介绍
- 干货 | PyTorch相比TensorFlow,存在哪些自身优势?
- 用TensorFlow和TensorBoard从零开始构建ConvNet(CNN)
- 从零开始:手把手教你安装深度学习操作系统、驱动和各种python库!
- TensorFlow中的那些高级API
- 特征工程之Scikit-learn
- 浅谈NumPy和Pandas库(一)
- 例解生成对抗网络
- PyTorch和Tensorflow版本更新点
- 软件随想录:代码与数据
- 从 Pipe 到 Flow
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Redis系列:单机主从模式搭建
- Python 爬取链家成都二手房源信息 asyncio + aiohttp 异步爬虫实战
- 10 个冷门但又非常实用的 Docker 使用技巧!
- 利用 Shell 脚本实现邮件监控 Linux 系统的内存
- 拥有此神技,脚本调试从此与 echo、set、test 说分手!
- 很少用到,但掏出来让人感到牛逼的Web API
- 突击并发编程JUC系列-并发工具 CountDownLatch
- 推出 TF Lite Task Library 接口,简化 ML移动端开发流程
- 排序算法之我观
- 线性筛素数(探索中的不断优化)
- 麦森数
- 5款工具,让你轻松创建并分享优美的项目源码
- 过河卒
- 低调的 Linux 文件系统家族
- 圆点