Python实现简单猜数字游戏


Posted in Python onFebruary 03, 2021

本文实例为大家分享了Python实现简单猜数字游戏的具体代码,供大家参考,具体内容如下

一、需求分析

编写一个猜数字游戏,游戏规则:计算机给出一个1-20的之间的随机数字,让玩家来猜猜它是几,计算机会告诉你每次猜出的数字或大或小,如在6次内猜到正确数字,即赢了。

二、编写思路

1.首先导入random随机模块 ,然后定义随机数的范围,然后定义次数。

2.使用while循环来判断是否符合随机数和输入数值的比较,并且设置次数递减

3.使用 isdigit 函数来完成判断玩家数据类型,避免报错。

4.使用if else 流程控制语句即玩家输入数字比随机数大则提醒玩家数字大,反之则小并且提醒玩家剩余几次机会。

5.最后编写输入机会用完猜对则游戏结束,猜错则提醒机会用完,并且公布电脑给出的随机数答案。

三、问题

1.如何来判断玩家输入的数据类型来避免报错?

解决:使用isdigit函数来判断玩家输入的数据类型是否为数字,是则继续运行反之则提醒玩家输入的内容不合法。

2.如何限制玩家输入字符的数量?

解决:定义一个最大常量和最小常量,超出最大常量或者最小常量则会提醒玩家输入内容的范围。

四、代码

import random # 导入随机模块
times = 6 # 定义尝试次数
game = random.randint(0, 20) # 定义随机数范围
max = 20 # 定义最大常量
min = 0 # 定义最小常量
print('猜一猜我心目中的数字(0-20之间):')
print('你有%d次机会:' % times)

while times > 0: # 循环判断如果有机会往下运行
 times = times - 1 # 次数递减
 str = input() # 输入数值
 if not str.isdigit(): # 判断数据类型 输入的是不是数字
 print('您输入的数据:' + str + '不合法,请重新输入我心目中的数字(0-20)之间,还有%d次机会' % times)
 else:
 guess = int(str)
 if guess == game: #玩家输入与随机数相同
  print('猜对了!')
 else:
  if guess > max: #玩家输入大于猜测随机数范围
  print('输入无效!请输入%d到%d之间的数字,还有%d次机会.' % (min, max, times))
  continue
  if guess > game: #玩家输入大于随机数
  print('您输入的数字大了!还有%d次机会' % times)
  else:  
  print('您输入的数字小了!还有%d次机会' % times)
  if times > 0: #还有次数
  print('在尝试一次吧')
  else:
  print('没机会了')
  print('我心目中的数字是%d' % game)
print('游戏结束!')

五、感悟

通过本次的项目练习,我感觉自己收获还是很大的,不仅考验了自己对基础知识的掌握程度,而且和同学在讨论中也发现了更多的问题并且学会解决问题,然后在师父的验收过程中也发现了代码可以调优完善的地方,最后在纪老师验收的过程中,通过看其他同学的代码和自己的代码来对比可以发现一些自己所不了解的知识及语法,老师也提了很多的问题,并且提供了更多的思路,例如代码里曲线 背景快出现的原因,以及如何设计游戏更多的乐趣,然后以后完成项目还可以使用PPT,因为这样可以更清楚更便于自己或者同学来理解,使我受益匪浅,在自己解决问题的过程中也学会了一些更多的函数用法,例如如何判断数据类型,通过在网上搜索学习了这个函数,我也对类似的这种函数进行了解:

s为字符串

s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。

s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。

s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。

s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。

s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。

s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。

s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动化构建工具scons使用入门笔记
Mar 10 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
python实时分析日志的一个小脚本分享
May 07 Python
Python基于回溯法子集树模板实现图的遍历功能示例
Sep 05 Python
python表格存取的方法
Mar 07 Python
Python hashlib模块用法实例分析
Jun 12 Python
在python plt图表中文字大小调节的方法
Jul 08 Python
Python 实现输入任意多个数,并计算其平均值的例子
Jul 16 Python
Django Rest framework权限的详细用法
Jul 25 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
Python使用Excel将数据写入多个sheet
May 16 Python
Python List remove()实例用法详解
Aug 02 Python
python 实现图片裁剪小工具
Feb 02 #Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 #Python
Python datetime模块的使用示例
Feb 02 #Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 #Python
python中子类与父类的关系基础知识点
Feb 02 #Python
python中time包实例详解
Feb 02 #Python
python+playwright微软自动化工具的使用
Feb 02 #Python
You might like
PHP对象Object的概念 介绍
2012/06/14 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
浅谈php提交form表单
2015/07/01 PHP
PHP文件操作实例总结
2016/09/27 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
js Flash插入函数免激活代码
2009/03/31 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
英国绿色商店:Natural Collection
2019/05/03 全球购物
德尔福集团DELPHI的笔试题
2012/02/22 面试题
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL