python实现逢七拍腿小游戏的思路详解


Posted in Python onMay 26, 2020

逢七拍腿游戏

几个小朋友在一起玩逢七拍腿的游戏,从1开始数数,当数到7的倍数或者尾号是7时,拍一下腿。现在从1数到99,假设每个人都没有错,计算一下共要拍腿几次?
第一种实现思路:通过在for循环语句中使用continue语句来实现计算拍腿次数。首先假设可拍腿次数为最高次数99,每触发满足的条件的时候就直接跳转到下一次循环当中,最后的total减1则不执行,不满足条件时total则减1。因此实际上total减去的是不满足条件的数字,代码如下:

total = 99               #记录拍腿次数的变量
for number in range(1,100):      #创建一个从1数到99的循环
  if number&7 == 0:         #判断是否为7的倍数
    continue            #跳转到下一次循环
  else: 
    string = str(number)      #将数值转化为字符串,方便判断尾号是否为7
    if string.endswith('7'):    #判断尾号数字是否为7
      continue          #跳转到下一次循环
  total -= 1             #可拍腿次数减1
print("从1数到99共拍腿",total,"次")   #显示拍腿次数

在此处我们新学到一个函数为endswith(),我们先来讨论一下endswith()函数的作用。

函数:endswith()
作用:判断字符串是否以指定字符或子字符串结尾,常用于判断文件类型
相关函数:判断字符串开头 startswith()

运行结果如下:

python实现逢七拍腿小游戏的思路详解

第二种实现思路:通过设置一个计数器,每触发条件一次计数器就加1.代码如下:

total = 0               #记录拍腿次数的变量
for number in range(1,100):      #创建一个从1数到99的循环
  if number&7 == 0:         #判断是否为7的倍数
     total +=1          #可拍腿次数加1次
  else: 
    string = str(number)      #将数值转化为字符串,方便判断尾号是否为7
    if string.endswith('7'):    #判断尾号数字是否为7
      total +=1         #可拍腿次数加1次              
print("从1数到99共拍腿",total,"次")  #显示拍腿次数

这两种方法都可以实现,很有趣的是第一种实际上是一种逆向的思维,我们已经习惯于加法,很少会使用到减法。第二种是我们很多人习惯的思考方式。在学习python的过程当中,多发散一下思维,有时候逆向地思考也可以达到要实现的目的,甚至会更快!

总结

到此这篇关于python实现逢七拍腿小游戏的思路详解的文章就介绍到这了,更多相关python实现逢七拍腿小游戏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python单链表的简单实现方法
Sep 23 Python
Python+微信接口实现运维报警
Aug 27 Python
Python中字符串的修改及传参详解
Nov 30 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
Python机器学习之决策树算法实例详解
Dec 06 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
python实现IOU计算案例
Apr 12 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
python中tab键是什么意思
Jun 18 Python
python办公自动化之excel的操作
May 23 Python
Python是什么 Python的用处
May 26 #Python
完美解决jupyter由于无法import新包的问题
May 26 #Python
使用pth文件添加Python环境变量方式
May 26 #Python
tensorflow实现残差网络方式(mnist数据集)
May 26 #Python
Python中格式化字符串的四种实现
May 26 #Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 #Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
May 26 #Python
You might like
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
JS学习之一个简易的日历控件
2010/03/24 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
Python列表切片用法示例
2017/04/19 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
详解Python 切片语法
2019/06/10 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
机械制造与自动化应届生求职信
2013/11/16 职场文书
怎样写好自我评价呢?
2014/02/16 职场文书
二年级小学生评语
2014/04/21 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
改进工作作风心得体会
2016/01/23 职场文书