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中的__init__()方法
May 02 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
python通过配置文件共享全局变量的实例
Jan 11 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
python打开windows应用程序的实例
Jun 28 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
详解python中*号的用法
Oct 21 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
django创建超级用户时指定添加其它字段方式
May 14 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
javascript加号"+"的二义性说明
2013/03/04 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
JavaScript 异步时序问题
2020/11/20 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
理解python中生成器用法
2017/12/20 Python
python机器学习之KNN分类算法
2018/08/29 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
详解pandas赋值失败问题解决
2020/11/29 Python
献爱心大型公益活动策划方案
2014/09/15 职场文书
停车场管理协议书范本
2014/10/08 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
领导干部失职检讨书
2015/05/05 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL
nginx配置指令之server_name的具体使用
2022/08/14 Servers