Python小工具:台阶计算

  • A+
所属分类:Python习题

题目说明:

有一个长阶梯,每步上2阶剩余1阶;上3剩2;上5剩4;上6剩5;上7剩0

参考答案

  • 答案1

 

  1. i = 0
  2. while i < 1000:
  3.    if (i+1)%2== 0 and (i +1)%3== 0 and (i+1)%5==0 and (i+1)%6==0 and i%7==0:
  4.       print(i, end ='  ')
  5.       i += 1
  6.    else:
  7.       i += 1

通过循环每次执行计算,运用求余的方法,使条件都成立,记住and 是要两者都为True的时候,才返回True否则返回False

 

  • 答案2
  1. step = 7
  2. num = 1
  3. flag = 0
  4. while num <= 100:
  5.    if(step%2==1) and (step%3==2) and (step%5 == 4) and (step%6==5):
  6.       flag = 1
  7.    else:
  8.       step = 7 * (num +1)
  9.    num +=1
  10.    print(num)
  11. if flag ==1:
  12.    print('阶梯数是:',step)
  13. else:
  14.    print('在程序限定的范围内找不到答案')

这个答案,是论坛发布的参考答案,仔细看了半天才明白过来。

  • num是怎么跳出了循环

一开始没注意到这个问题,后来看到有群友在对这个问题提问,然后去测试了num是跑到了什么结果才返回结果,后来发现当num==16的时候,所以条件都符合,它只是给flag进行了赋值为1,而num还在继续往17,18,19数字跑,当满足=100这个条件的时候,再跑一趟num等于101,循环结束,输出step的值。

李金龙

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: