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 XML RPC服务器端和客户端实例
Nov 22 Python
pygame学习笔记(4):声音控制
Apr 15 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
python简单读取大文件的方法
Jul 01 Python
浅谈python 线程池threadpool之实现
Nov 17 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
浅谈flask源码之请求过程
Jul 26 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
python+opencv实现车道线检测
Feb 19 Python
python开发人人对战的五子棋小游戏
May 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
phpize的深入理解
2013/06/03 PHP
php简单浏览目录内容的实现代码
2013/06/07 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
javascript如何创建对象
2016/08/29 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
js实现表格筛选功能
2017/01/18 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
详解Node.js模板引擎Jade入门
2018/01/19 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
利用python将图片版PDF转文字版PDF
2019/05/03 Python
django在开发中取消外键约束的实现
2020/05/20 Python
详解rem 适配布局
2018/10/31 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
单位单身证明样本
2014/10/11 职场文书
委托证明范本
2014/11/25 职场文书
班主任寄语2016
2015/12/04 职场文书
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技