​嗨,各位好呀,我是真小凡。

相信你如果是一个刚学习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之石头剪刀布小游戏(史上最详细步骤)相关推荐

  1. 石头剪刀布python代码_Python之石头剪刀布小游戏(史上最详细步骤)

    ​嗨,各位好呀,我是真小凡. 相信你如果是一个刚学习Python的小白,一定会很想做一个自己的Python小游戏(我就是这样子的),那么今天我们就一起实操一下! 首先要清楚,做一个项目必须的流程是什么 ...

  2. 选择与循环:剪刀石头布_python项目:剪刀石头布游戏

    一.明确项目 和电脑玩一个剪刀石头布的游戏:电脑随机出拳,我们可选择出什么. 二.拆解项目 2.1 双方出拳 首先,我们要让双方选择出拳,才能判断胜负. 我们可以设置变量computer_choice ...

  3. 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 001主画面以及关卡选择画面的制作

    cocs2d的开发环境我相信大家都能搭建好了,下面我们直接的进入正题,开始做我们的小游戏,如果对搭建环境还有不懂的童鞋请看我写的这篇博文 cocos2d-x 3.0游戏开发xcode5帅印博客教学 0 ...

  4. 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 002第一关:关闭卡死的电脑

    昨天做了主画面的选择,今天做第一关的关闭卡死的电脑,这个小游戏,这个游戏是很多的小游戏组合起来的,所以我们逐个击破,第一个游戏到底要如何做呢? 看看今天实现第一关的效果 这个第一个游戏不算太难 首先我 ...

  5. python入门之函数调用第3关_Python入门到入土!史上最详细的函数教程!

    函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. ...

  6. 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 004第三关:让坦克过桥

    写在前面的话 ,最近的时间比较紧张,没有多余的时间来写博客,也没有什么实际来写代码,通过写这些博客我发现了一些问题,游戏中用到的技术都是一些基本的很平常的技术,大家只要努力的学习,就一定能够学会的,做 ...

  7. 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 003第二关:点击绿色按钮100下

    昨天做了[关闭卡死的电脑]这个关卡今天要做的是点击绿色按钮100下,这游戏真的坑爹,看你能不能玩过关,哈哈哈. 这关做起来比较简单游戏逻辑也比较简单,直接上第二关的源代码,注意最后面又当天的源码下载 ...

  8. python猜拳游戏三局两胜制_python石头剪刀布小游戏(三局两胜制)

    Python 石头剪刀布小游戏(三局两胜),供大家参考,具体内容如下 import random all_choioces = ['石头', '剪刀', '布'] win_list = [['石头', ...

  9. python循环10次_开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择...

    开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择 "+.-.*"运算符,构成一个表达式, 让用户计算式子结果并输入结果,如果计算 ...

最新文章

  1. 现代神经网络要这么用才能创造智能
  2. Hibernate查询语言
  3. [转]MongoDB基本使用
  4. 2.什么是变量的数据类型
  5. 你必须知道如何回答的五大计算机安全问题!
  6. 4.9 行列均不满秩方程
  7. 用stack处理中缀表达式【+、-、*、/、()】
  8. docker 封装sql_docker封装mysql镜像
  9. java date 时分秒_java Date 获得时分秒代码
  10. 【算法】算法求出2个超大正数相加
  11. easyui datalist 不显示数据_爬虫练习——豆瓣电影信息爬取及数据可视化
  12. edge浏览器如何新建IE tab
  13. 目前使用SAP的公司列表
  14. 现在证券公司内部各部门详解
  15. Win10锁屏壁纸位置在哪?默认锁屏壁纸怎么提取
  16. 普通型母函数和指数型母函数
  17. web自动化你需要知道的
  18. 帷幕的帷是什么意思_古时纺织什么样子?穿越时空看古代纺织发展
  19. 智能无线网络的深度学习:一项综合调查
  20. Consider defining a bean of type ‘com.zsb.dao.UserDao‘ in your configuration.

热门文章

  1. python 3.9 发布计划_Python 3.9.0 beta4 发布
  2. win10分辨率不能调整_Win10系统分辨率不能修改怎么办?屏幕分辨率的调节方法...
  3. E1光端机和2M光端机有什么区别?
  4. [渝粤教育] 西南科技大学 动态网页设计(JSP) 在线考试复习资料
  5. 【渝粤题库】陕西师范大学200991教育统计学作业(高起本)
  6. 【渝粤题库】陕西师范大学201001 教育管理学(高起本)作业
  7. oracle 群集 无存储,存储的群集注意事项 - Oracle® ZFS Storage Appliance 管理指南
  8. 单机最大负载_分布式高可靠之负载均衡,今天看了你肯定会
  9. python怎样使用各个日期赤纬_python--日期操作
  10. django中的FBV和CBV