欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

python实现逢七拍腿小游戏的思路详解

时间:2021-07-02 09:00:34|栏目:Python代码|点击:

逢七拍腿游戏

几个小朋友在一起玩逢七拍腿的游戏,从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()

运行结果如下:

在这里插入图片描述

第二种实现思路:通过设置一个计数器,每触发条件一次计数器就加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代码

下一篇:django自定义非主键自增字段类型详解(auto increment field)

本文标题:python实现逢七拍腿小游戏的思路详解

本文地址:http://www.codeinn.net/misctech/151561.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有