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 thread 并发且顺序运行示例
Apr 09 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
Jul 24 Python
python自动化脚本安装指定版本python环境详解
Sep 14 Python
解决python大批量读写.doc文件的问题
May 08 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
Nov 21 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
python多线程案例之多任务copy文件完整实例
Oct 29 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
python统计文章中单词出现次数实例
Feb 27 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
Python爬虫使用bs4方法实现数据解析
Aug 25 Python
python 基于Apscheduler实现定时任务
Dec 15 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
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
js实现二级导航功能
2017/03/03 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
vue中的使用token的方法示例
2020/03/10 Javascript
Vue3为什么这么快
2020/09/23 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python爬虫中多线程的使用详解
2019/09/23 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
nohup的用法
2012/11/26 面试题
车间工艺员岗位职责
2013/12/09 职场文书
对公司的意见和建议
2015/06/04 职场文书
工作年限证明范本
2015/06/15 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
python实现简单石头剪刀布游戏
2021/10/24 Python
一文简单了解MySQL前缀索引
2022/04/03 MySQL