选择与循环:剪刀石头布_Python之石头剪刀布小游戏(史上最详细步骤)
嗨,各位好呀,我是真小凡。
相信你如果是一个刚学习Python的小白,一定会很想做一个自己的Python小游戏(我就是这样子的),那么今天我们就一起实操一下!
首先要清楚,做一个项目必须的流程是什么,只有不断加强编程思维,才能更好的学习和掌握:
那么放在今天这个实操中,项目流程如下:
1.明确项目目标:(为了方便理解,玩家只出布)
我们会通过今天的作业和电脑玩一个剪刀石头布的游戏:电脑随机出拳,我们可选择出什么。
2.分析过程,拆解项目
小游戏可以拆解为:双方出拳→双方亮拳(打印一下)→判断胜负
3逐步执行,代码实现
基本元素:
• 玩家、电脑
• 要能展示
• 最终胜负
下面,我们就可以开始写代码啦!那么放在今天这个实操中,项目流程如下:
1.双方出拳
我们要让双方选择出拳,才能判断胜负。
我们可以设置变量computer_choice代表电脑的出拳选择,设置变量user_choice代表你的出拳选择。
电脑的出拳,我们可以使用random.choice()来随机选择;我们的出拳,可以手动输入我们出拳的类型。
注:
- 判断下输入:当输入的内容不是石头剪刀布时,电脑会提醒'输入有误,请重新出拳'。
- 判断的语句为:while a not in list1,即当元素 a 不在列表 list1。
import random# 出拳
punches = ['石头','剪刀','布']
computer_choice = random.choice(punches)
user_choice = ''
user_choice = input('请出拳:(石头、剪刀、布)') # 请用户输入选择
while user_choice not in punches:print('输入有误,请重新出拳') # 当用户输入错误,提示错误,重新输入user_choice = input()
终端显示:
第一种结果:
请出拳:(石头、剪刀、布)布
第二种结果:(输入有误,会提醒直到输入符合)
请出拳:(石头、剪刀、布)布头
输入有误,请重新出拳
布
2.双方亮拳
你和电脑已经对自己要出的拳进行了选择,接下来,我们需要知道双方的出拳类型。
注:
- 使用print()函数补充亮拳的结果。
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)
终端显示:
请出拳:(石头、剪刀、布)布
————战斗过程————
电脑出了:剪刀
你出了:布
3.判断胜负
在前面两步,电脑和你已经选择完出拳的类型并亮拳后,只差最后一步:根据结果判断胜负。
注:
• 两方出拳一致:平局
• 你出石头,电脑出剪刀;你出剪刀,电脑出布;你出布,电脑出石头:你获胜;
• 其他情况:你输了。
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('—————结果—————')
if user_choice == computer_choice: # 使用if进行条件判断print('平局!')
elif (user_choice == '石头' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布')or (user_choice == '布' and computer_choice == '石头'):print('你赢了!')
else: print('你输了!')
终端显示:
请出拳:(石头、剪刀、布)布
————战斗过程————
电脑出了:布
你出了:布
—————结果—————
平局
4.加入循环
最终代码:在外部加了一个while……循环,这样你不让它结束,就可以一直玩下去啦。
import random
# 出拳
while True: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('—————结果—————') if user_choice == computer_choice: # 使用if进行条件判断print('平局!') elif (user_choice == '石头' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布')or (user_choice == '布' and computer_choice == '石头'):print('你赢了!') else:print('你输了!')
a1 = input('要继续游戏吗,请输入n退出,输入其他继续:') if a1 == 'n':print('n【结束游戏】') break
终端显示:
请出拳:(石头、剪刀、布)布
————战斗过程————
电脑出了:剪刀
你出了:布
—————结果—————
你输了!
要继续游戏吗,请输入n退出,输入其他继续:y
请出拳:(石头、剪刀、布)布
————战斗过程————
电脑出了:石头
你出了:布
—————结果—————
你赢了!
要继续游戏吗,请输入n退出,输入其他继续:n
【结束游戏】
最终的运行代码与显示如下:
怎么样,是不是还是比较简单的那!
现在我们来总结一下这个项目的流程重点:
好了,这篇又臭又长的实操写写改改花了我十来个小时以及一小撮头发,要是看不到你的赞,当心我去找你哦。
再贱…
选择与循环:剪刀石头布_Python之石头剪刀布小游戏(史上最详细步骤)相关推荐
- 石头剪刀布python代码_Python之石头剪刀布小游戏(史上最详细步骤)
嗨,各位好呀,我是真小凡. 相信你如果是一个刚学习Python的小白,一定会很想做一个自己的Python小游戏(我就是这样子的),那么今天我们就一起实操一下! 首先要清楚,做一个项目必须的流程是什么 ...
- 选择与循环:剪刀石头布_python项目:剪刀石头布游戏
一.明确项目 和电脑玩一个剪刀石头布的游戏:电脑随机出拳,我们可选择出什么. 二.拆解项目 2.1 双方出拳 首先,我们要让双方选择出拳,才能判断胜负. 我们可以设置变量computer_choice ...
- 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 001主画面以及关卡选择画面的制作
cocs2d的开发环境我相信大家都能搭建好了,下面我们直接的进入正题,开始做我们的小游戏,如果对搭建环境还有不懂的童鞋请看我写的这篇博文 cocos2d-x 3.0游戏开发xcode5帅印博客教学 0 ...
- 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 002第一关:关闭卡死的电脑
昨天做了主画面的选择,今天做第一关的关闭卡死的电脑,这个小游戏,这个游戏是很多的小游戏组合起来的,所以我们逐个击破,第一个游戏到底要如何做呢? 看看今天实现第一关的效果 这个第一个游戏不算太难 首先我 ...
- python入门之函数调用第3关_Python入门到入土!史上最详细的函数教程!
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. ...
- 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 004第三关:让坦克过桥
写在前面的话 ,最近的时间比较紧张,没有多余的时间来写博客,也没有什么实际来写代码,通过写这些博客我发现了一些问题,游戏中用到的技术都是一些基本的很平常的技术,大家只要努力的学习,就一定能够学会的,做 ...
- 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 003第二关:点击绿色按钮100下
昨天做了[关闭卡死的电脑]这个关卡今天要做的是点击绿色按钮100下,这游戏真的坑爹,看你能不能玩过关,哈哈哈. 这关做起来比较简单游戏逻辑也比较简单,直接上第二关的源代码,注意最后面又当天的源码下载 ...
- python猜拳游戏三局两胜制_python石头剪刀布小游戏(三局两胜制)
Python 石头剪刀布小游戏(三局两胜),供大家参考,具体内容如下 import random all_choioces = ['石头', '剪刀', '布'] win_list = [['石头', ...
- python循环10次_开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择...
开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择 "+.-.*"运算符,构成一个表达式, 让用户计算式子结果并输入结果,如果计算 ...
最新文章
- 现代神经网络要这么用才能创造智能
- Hibernate查询语言
- [转]MongoDB基本使用
- 2.什么是变量的数据类型
- 你必须知道如何回答的五大计算机安全问题!
- 4.9 行列均不满秩方程
- 用stack处理中缀表达式【+、-、*、/、()】
- docker 封装sql_docker封装mysql镜像
- java date 时分秒_java Date 获得时分秒代码
- 【算法】算法求出2个超大正数相加
- easyui datalist 不显示数据_爬虫练习——豆瓣电影信息爬取及数据可视化
- edge浏览器如何新建IE tab
- 目前使用SAP的公司列表
- 现在证券公司内部各部门详解
- Win10锁屏壁纸位置在哪?默认锁屏壁纸怎么提取
- 普通型母函数和指数型母函数
- web自动化你需要知道的
- 帷幕的帷是什么意思_古时纺织什么样子?穿越时空看古代纺织发展
- 智能无线网络的深度学习:一项综合调查
- Consider defining a bean of type ‘com.zsb.dao.UserDao‘ in your configuration.
热门文章
- python 3.9 发布计划_Python 3.9.0 beta4 发布
- win10分辨率不能调整_Win10系统分辨率不能修改怎么办?屏幕分辨率的调节方法...
- E1光端机和2M光端机有什么区别?
- [渝粤教育] 西南科技大学 动态网页设计(JSP) 在线考试复习资料
- 【渝粤题库】陕西师范大学200991教育统计学作业(高起本)
- 【渝粤题库】陕西师范大学201001 教育管理学(高起本)作业
- oracle 群集 无存储,存储的群集注意事项 - 
Oracle® ZFS Storage Appliance 管理指南
- 单机最大负载_分布式高可靠之负载均衡,今天看了你肯定会
- python怎样使用各个日期赤纬_python--日期操作
- django中的FBV和CBV