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 相关文章推荐
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
Python Pandas中根据列的值选取多行数据
Jul 08 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
使用tensorflow显示pb模型的所有网络结点方式
Jan 23 Python
Python如何转换字符串大小写
Jun 04 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
python安装及变量名介绍详解
Dec 12 Python
pycharm配置QtDesigner的超详细方法
Jan 25 Python
python实现剪贴板的操作
Jul 01 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
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
jQuery 学习第七课 扩展jQuery的功能 插件开发
2010/05/17 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
浅谈Django REST Framework限速
2017/12/12 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
外科实习自我鉴定
2013/10/06 职场文书
大学生毕业自我评价范文分享
2013/11/07 职场文书
教师校本培训方案
2014/02/26 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书