- A+
所属分类:Python习题
题目说明:
有一个长阶梯,每步上2阶剩余1阶;上3剩2;上5剩4;上6剩5;上7剩0
参考答案
- 答案1
- i = 0
- while i < 1000:
- if (i+1)%2== 0 and (i +1)%3== 0 and (i+1)%5==0 and (i+1)%6==0 and i%7==0:
- print(i, end =' ')
- i += 1
- else:
- i += 1
通过循环每次执行计算,运用求余的方法,使条件都成立,记住and 是要两者都为True的时候,才返回True否则返回False
- 答案2
- step = 7
- num = 1
- flag = 0
- while num <= 100:
- if(step%2==1) and (step%3==2) and (step%5 == 4) and (step%6==5):
- flag = 1
- else:
- step = 7 * (num +1)
- num +=1
- print(num)
- if flag ==1:
- print('阶梯数是:',step)
- else:
- print('在程序限定的范围内找不到答案')
这个答案,是论坛发布的参考答案,仔细看了半天才明白过来。
- num是怎么跳出了循环
一开始没注意到这个问题,后来看到有群友在对这个问题提问,然后去测试了num是跑到了什么结果才返回结果,后来发现当num==16的时候,所以条件都符合,它只是给flag进行了赋值为1,而num还在继续往17,18,19数字跑,当满足=100这个条件的时候,再跑一趟num等于101,循环结束,输出step的值。