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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
python实现批量改文件名称的方法
May 25 Python
python实现kNN算法
Dec 20 Python
Python 打印中文字符的三种方法
Aug 14 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
详解python tkinter教程-事件绑定
Mar 28 Python
python实现感知机线性分类模型示例代码
Jun 02 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
Python imutils 填充图片周边为黑色的实现
Jan 19 Python
pycharm导入源码的具体步骤
Aug 04 Python
Python更改pip镜像源的方法示例
Dec 01 Python
Python用户自定义异常的实现
Dec 25 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
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
Python生成器常见问题及解决方案
2020/03/21 Python
python读取mysql数据绘制条形图
2020/03/25 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
python爬取招聘要求等信息实例
2020/11/20 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
Linux内核产生并发的原因
2012/07/13 面试题
一道Delphi面试题
2016/10/28 面试题
《最可爱的人》教学反思
2014/02/14 职场文书
《木笛》教学反思
2014/03/01 职场文书
优秀教师演讲稿
2014/05/06 职场文书
聘任证明怎么写
2015/03/02 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
python 逐步回归算法
2021/04/06 Python