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序列之list和tuple常用方法以及注意事项
Jan 09 Python
python正常时间和unix时间戳相互转换的方法
Apr 23 Python
Python中运算符"=="和"is"的详解
Oct 08 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
python如何停止递归
Sep 09 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 读取文件乱码问题
2010/02/20 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
axios简单实现小程序延时loading指示
2018/07/30 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
python动态视频下载器的实现方法
2019/09/16 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
python matplotlib库的基本使用
2020/09/23 Python
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
一套SQL笔试题
2016/08/14 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
2014年个人师德工作总结
2014/12/04 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
广播体操比赛主持词
2015/06/29 职场文书
2016年五一促销广告语
2016/01/28 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android