一、明确项目

和电脑玩一个剪刀石头布的游戏:电脑随机出拳,我们可选择出什么。

二、拆解项目

2.1 双方出拳

  • 首先,我们要让双方选择出拳,才能判断胜负。
  • 我们可以设置变量computer_choice代表电脑的出拳选择,设置变量user_choice代表你的出拳选择。
  • 电脑的出拳,我们可以使用random.choice()来随机选择;我们的出拳,可以手动输入我们出拳的类型。
  • 另外,判断下输入:当输入的内容不是石头剪刀布时,电脑会提醒'输入有误,请重新出拳',并重新出拳。

2.2 双方亮拳

  • 使用print()函数打印出双方出拳结果

2.3 输出战斗结果

  • 罗列平局,输局,赢局对应的情况,定义逻辑判断函数
  • 打印出战斗结果

三、逐步执行,代码实现

  1. 根据项目拆解情况,给出初级代码
  2. 代码优化:用函数封装代码,便于后续增删改
  3. 功能优化:增加一个游戏重复的小功能

最终代码:

import random,time# 变量key代表循环运行程序的开关
key=1#采集双方出拳信息的函数
def myinput():punches=['石头','剪刀','布']computer_choice=random.choice(punches) #电脑出拳user_choice=input('有三种出拳类型:石头,剪刀,布,请输入你的出拳类型:') #用户出拳while user_choice not in punches:print('输入有误,请重新出拳')user_choice=input('有三种出拳类型:石头,剪刀,布,请输入你的出拳类型:') #用户出拳return computer_choice,user_choice# 这里返回的数据是一个元组#判断输赢逻辑函数
def match(my_input):# 把元组中的数据取出来computer_choice=my_input[0]user_choice=my_input[1]# 双方亮拳print('————战斗过程————')time.sleep(1)print('你出拳:%s' %(user_choice))time.sleep(1)print('我出拳:%s' %(computer_choice))time.sleep(1)# 战斗结果print('—————结果—————')if user_choice == computer_choice:  # 使用if进行条件判断print('平局!')# 电脑的选择有3种,索引位置分别是:0石头、1剪刀、2布。# 假设在电脑索引位置上减1,对应:-1布,0石头,1剪刀,皆胜。elif user_choice == punches[punches.index(computer_choice)-1]:print('你赢了!')else:print('你输了!')#多次重复函数
def again():# 声明全局变量key,以便修改该变量global keya=input('是否继续?继续请输入1,输入其他键将结束程序。')if a!='1':key=0#主函数
def main():print('欢迎来和我玩石头剪刀布的游戏!')while key==1:my_input=myinput()match(my_input)again()print('谢谢你和我一起玩,再见')#调用主函数
main()

学习时间:3月30日

选择与循环:剪刀石头布_python项目:剪刀石头布游戏相关推荐

  1. python制作动态小游戏_Python——项目-小游戏2-动画绘制

    实现游戏循环还有事件的监听 在上一讲中 你需要完成这样的这样的效果, 如果你还没有完成,请不要继续往下阅读!!切记切记切记.,重要的事情说三遍 我们来看一下什么是游戏循环 所谓的游戏循环很好的理解 就 ...

  2. 选择与循环:剪刀石头布_Python之石头剪刀布小游戏(史上最详细步骤)

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

  3. python清华大学出版社第三章课堂作业的答案_Python程序设计清华大学出版社董付国第3章选择与循环题库.ppt...

    3.5 综合运用 例2:输出序列中的元素. a_list=['a', 'b', 'mpilgrim', 'z', 'example'] for i,v in enumerate(a_list): pr ...

  4. python的for语句条件_Python中的条件选择和循环语句

    Python中的条件选择和循环语句 同C语言.Java一样,Python中也存在条件选择和循环语句,其风格和C语言.java的很类似,但是在写法和用法上还是有一些区别.今天就让我们一起来了解一下. 一 ...

  5. python两个for循环顺序_python两个for循环顺序_Python编程基础2——顺序、循环、选择...

    1.课前阅读 1.1学习目标 ①了解Python编程语言中的三大编程结构. ②重点:Python中如何使用顺序.循环.选择结构. ③学习第一个Python库函数. 1.2实践内容 ①学习使用Pytho ...

  6. 新个人项目-- 拼图游戏

    正式开博记录,想和很久但一直没有执行的新个人项目-- 拼图游戏. 完全由前端技术完成.从简单粗糙到复杂精细. 为了督促自己持续推进该项目,立博为证. 之后会陆续将文档.计划补充上来.都是非官方非正式的 ...

  7. c语言选择循环实验报告,C语言程序设计实验报告选择与循环结构程序设计.doc

    C语言程序设计实验报告选择与循环结构程序设计.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的 ...

  8. 软件工程基础-个人项目-数独游戏

    软件工程基础-个人项目-数独游戏 ----------------------------------------------------------------------------------- ...

  9. python 围棋按照坐标查找棋子_python 实现围棋游戏(纯tkinter gui)

    1. 开始前 本程序基于tkinter生成GUI,使用前请确保已经安装好tkinter 对于windows用户,您可能已经安装了tkinter,cmd中输入python -c 'import tkin ...

最新文章

  1. 2022-2028年中国钢材市场投资分析及前景预测报告(全卷)
  2. Google工作原理
  3. 即学即用的30段Python实用代码
  4. 打造计数君!谷歌提出RepNet:可自动计数视频重复片段 | CVPR 2020
  5. JAVA单线程以及java多线程的实现方式
  6. Docker无法修改devicemapper(四)
  7. python实现文件下载的方法总结
  8. mysql数据库显示问号_mysql数据库中文显示问号
  9. outlook的插件管理(Web界面)
  10. 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)...
  11. __bridge,__bridge_retained,__bridge_transfer
  12. java rtti_java对RTTI的所有需要
  13. 山西首次举办明清水陆画专题展 多数藏品首次面世
  14. 54. mysqli 扩展库
  15. HTML基础 - HTML文本格式
  16. 计算机主机的声音线是哪个好,电脑显示器连接线哪种接口好|VGA、HDMI视频接口选哪个好...
  17. css奇技淫巧-色彩渐变与动态渐变
  18. js 画两点之间的连线
  19. 听课感悟——信息与信息特征
  20. 使用Python来编写一个简单的感知机

热门文章

  1. 内存卡不小心格式化后怎么找回丢失数据?
  2. 深圳多家银行设立取款限额 ATM机限时取款(图)
  3. 大龄程序员的出路在哪里!40岁50岁你还有精力每天抱着电脑写程序吗?
  4. 从《淘金者》看游戏细节
  5. 阿里云服务器选择地域教程
  6. 《C语言基础学习笔记》—— 黑马程序员 <Part1-4>
  7. 简易单片机制作频率计
  8. Arcgis 计算每个网格点内线段长度
  9. 关于idea+mybatis+springcloud+swagger2+Apollo 踩得小坑
  10. android屏幕省电,AMOLED屏幕省电吗 AMOLED屏幕耗电测评测