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的ORM框架SQLObject入门实例
Apr 28 Python
Python闭包实现计数器的方法
May 05 Python
Python中splitlines()方法的使用简介
May 20 Python
Python获取系统所有进程PID及进程名称的方法示例
May 24 Python
Python实现FLV视频拼接功能
Jan 21 Python
Python 动态变量名定义与调用方法
Feb 09 Python
python等差数列求和公式前 100 项的和实例
Feb 25 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
python3实现名片管理系统(控制台版)
Nov 29 Python
在Python 中将类对象序列化为JSON
Apr 06 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
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
javascript add event remove event
2008/04/07 Javascript
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
python3爬取各类天气信息
2018/02/24 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
python初步实现word2vec操作
2020/06/09 Python
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
MIS软件工程师的面试题
2016/04/22 面试题
离婚起诉书范本
2015/05/18 职场文书
革命电影观后感
2015/06/18 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers