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 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
Python入门篇之数字
Oct 20 Python
python下MySQLdb用法实例分析
Jun 08 Python
python实现Dijkstra静态寻路算法
Jan 17 Python
Python面向对象程序设计示例小结
Jan 30 Python
Python操作rabbitMQ的示例代码
Mar 19 Python
Django 1.10以上版本 url 配置注意事项详解
Aug 05 Python
Python threading的使用方法解析
Aug 28 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Python响应对象text属性乱码解决方案
Mar 31 Python
Python: glob匹配文件的操作
Dec 11 Python
Django展示可视化图表的多种方式
Apr 08 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中读取和写入WORD文档的代码
2008/04/09 PHP
php学习笔记 数组的常用函数
2011/06/13 PHP
php while循环得到循环次数
2013/10/26 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
checkbox使用示例
2013/08/23 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
python time()的实例用法
2020/11/03 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
在校大学生的职业生涯规划书
2014/03/14 职场文书
安全责任书模板
2014/07/22 职场文书
仲裁协议书
2014/09/26 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
村主任当选感言
2015/08/01 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python