Python之猜拳游戏
第一次写这东西,主要是为了记录自己的学习历程,或者说是为了忘记的时候找回来看看。
今天是参加风变编程培训第10天。昨天晚上完成了第10关关底的猜拳小游戏。
要求:人和电脑轮流出拳。判断输赢。
给出列表:punches=['石头','剪刀','布']
正常代码如下:(风变给出的标准答案)
n = 0
while n < 10000:
import random
punches = ['石头','剪刀','布']
computer_choice = random.choice(punches)
user_choice = random.choice(punches)
if user_choice == computer_choice:
print('平局!')
elif (user_choice == '石头' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布') or (user_choice == '布' and computer_choice == '石头'):
print('你赢了!')
else:
print('你输了!')
import random
n = n+1
拿到题目的第一个印象是,这个列表里,左侧赢右侧。或者说按照键值,小的为赢。让后想到‘布’的键值为2,怎么让2小于0是一个问题。为了解决这个问题,列出了一个Excel,来解释这个问题:

根据组合和查看。当电脑选择布的时候,将其结果强制表达为-1(这个在列表里是允许的)这样就满足了左侧赢右侧的要求。于是我的代码写成了下面的样子:
import random
# 出拳
punches = ['石头','剪刀','布']
computer_choice = random.choice(punches)
user_choice = ''
user_choice = input('请出拳:(石头、剪刀、布)') # 请用户输入选择
while user_choice not in punches: # 当用户输入错误,提示错误,重新输入
print('输入有误,请重新出拳')
user_choice = input()
# 亮拳
print('————战斗过程————')
print('电脑出了:%s' % computer_choice)
print('你出了:%s' % user_choice)
# 胜负
print('—————结果—————')
a=punches.index(computer_choice)
b=punches.index(user_choice)
if a==b:
print('本次和局')
elif a==2:
a=-1
if punches(a,b)in punches:
print('你输了。')
else:
print('你赢了。')
与标准答案的不同寻常之处用红色标志了。是不是对程序简略了?哈哈哈,虽然只是一个小游戏,对于刚刚开始学习编程的我来说还是比较有成就感的,毕竟是一个更加简略的思路。
有没有哪位朋友帮忙捧场呢?第一次用这个东西,也不知道有没有点赞之类。哈哈哈。比较得意了。
Python之猜拳游戏的更多相关文章
- Python:猜拳游戏
import random #导入包 play = int(input("请输入(石头0 剪刀1 布2):")) #这里的int必须加上 i = random.randint(0, ...
- python与java的猜拳游戏
python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...
- Python,while循环小例子--猜拳游戏(三局二胜)
Python,while循环小例子--猜拳游戏(三局二胜) import random all_choice = ['石头', '剪刀', '布'] prompt = '''(0)石头 (1)剪刀 ( ...
- JavaScript--面向对象--猜拳游戏
//html代码 <!doctype html> <html> <head> <meta charset="UTF-8"> < ...
- C语言猜拳游戏
2016年最后一篇文章 今天闲来无事Google了一段C语言写的猜拳游戏的代码(本人水平比较低,几乎是刚入门),我没做什么修改.这个switch语句里面对result的处理让我眼前一新,原来是这么玩的 ...
- 猜拳游戏GuessGame源码
该游戏是一款比较不错的猜拳游戏GuessGame源码案例,GuessGame——猜拳游戏,这也是我自己的第一款休闲类的游戏案例,游戏实现也比较简单的,希望这个能够帮大家的学习和使用,更多安卓源码尽在源 ...
- 求三数中Max和猜拳游戏
方法一: Console.WriteLine("请输入三个数字:"); int a = int.Parse(Console.ReadLine()); int b = int.Par ...
- 12岁的少年教你用Python做小游戏
首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
- android版猜拳游戏源码分享
android版猜拳游戏源码分享安卓版猜拳游戏源码,该文件中带有安装测试包的,这个游戏源码比较简单的,现在有两个代码,一个自定义VIEW的,一个就是普通的imageView图片,游戏非常适合一些新手的 ...
随机推荐
- 【操作系统】先来先服务和短作业优先算法(C语言实现)
[操作系统] 先来先服务算法和短作业优先算法实现 介绍: 1.先来先服务 (FCFS: first come first service) 如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列 ...
- MySQL全面瓦解13:系统函数相关
概述 提到MySQL的系统函数,我们前面有使用过聚合函数,其实只是其中一小部分.MySQL提供很多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,并更加灵活地满足不同用 ...
- 中级实训Android学习记录——Toast、AlertDialog、ProgressBar
学习记录 2020/11/22 Toast Toast Toast是一个消息提示组件 我们可以设置其显示的位置 自定义其显示的内容 对Toast的简单封装可以达到不同的目的 Toast的默认用法 To ...
- java类,函数传参
1 package 传参练习; 2 //学生姓名组成的数组:指定区间和查找的名字返回此人是否存在(如果存在返回位置否则-1) 3 public class test1 { 4 public stati ...
- LaTeX学习路线
LaTex源文件的基本结构 LaTex中的中文处理方法 LaTeX相关自学文档 LaTeX的字体字号设置 LaTeX文档的基本结构 LaTeX中的特殊字符 LaTeX中的插图 LaTeX中的表格 La ...
- (转)React学习笔记(干货满满)
1. React 长什么样 React 是 facebook 开源出来的一套前端方案,官网在 https://reactjs.org . 先看一个简单的样子: <!DOCTYPE html> ...
- YoyoGo使用指南
YoyoGo是一个使用Golang编写的一个简单.轻量.快速.基于依赖注入的微服务框架,目前依然在研发阶段,欢迎Star以及一起参与到框架的研发 GitHub地址:https://github.com ...
- 2. Spring早期类型转换,基于PropertyEditor实现
青年时种下什么,老年时就收获什么.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https:// ...
- AcWing 337. 扑克牌
大型补档计划 题目链接 把状态实质相同的划分为一类... 发现花色.具体牌值的多少均不影响方案,考虑等效转化题目. 设 \(f[A][B][C][D][k]\) A 个 1 张相同,B 个 2 张相同 ...
- 算法——n皇后问题
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案. 每一种解法包含一个明确的 n 皇后问题的棋 ...