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 logging模块学习笔记
May 24 Python
在Python中处理字符串之isdecimal()方法的使用
May 20 Python
在SAE上部署Python的Django框架的一些问题汇总
May 30 Python
Python正则表达式指南 推荐
Oct 09 Python
Python实现网站表单提交和模板
Jan 15 Python
Python3多目标赋值及共享引用注意事项
May 27 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
如何使用Python 打印各种三角形
Jun 28 Python
PYcharm 激活方法(推荐)
Mar 23 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
详解Python IO编程
Jul 24 Python
python中的sys模块和os模块
Mar 20 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写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
JS实现图片切换效果
2018/11/17 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
sqlalchemy对象转dict的示例
2014/04/22 Python
python 上下文管理器使用方法小结
2017/10/10 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
Python&&GDAL实现NDVI的计算方式
2020/01/09 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
Python3如何判断三角形的类型
2020/04/12 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
python中if嵌套命令实例讲解
2021/02/25 Python
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
详解如何用Python实现感知器算法
2021/06/18 Python
MySQL Server 层四个日志
2022/03/31 MySQL