|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 来包利子 于 2020-8-16 16:27 编辑
问题来源:传送门,其中的动动手问题。
- steps = 7
- steps = int(steps)
- i = 1
- FIND = False
- while i < 100:
- if (steps %2 ==1) and (steps %3 == 2) and (steps %5 == 4) and (steps %6 == 5) and (steps%7 == 0):
- FIND = True
- break
- else:
- steps = steps * (i + 1)
- i = i + 1
- if FIND == True:
- print('阶梯数是:', steps)
- else:
- print('在程序限定的范围内找不到答案!')
复制代码
- steps = 7
- i = 1
- FIND = False
- while i < 100:
- if (steps % 2 == 1) and (steps % 3 == 2) and (steps % 5 == 4) and (steps % 6 == 5):
- FIND = True
- break
- else:
- steps = 7 * (i + 1)
- i = i + 1
- if FIND == True:
- print('阶梯数是:', steps)
- else:
- print('在程序限定的范围内找不到答案!')
复制代码
上面是我自己填出来的代码,下面是小甲鱼老师的参考答案。
我自己的无法得到结果,我认为问题就在 steps = 7 * (i + 1) 这里。
程序第一次循环时,steps的值就是7啊,应该等效才对啊。
而且我怕steps的7不是int格式,还专门加了一行steps = int(steps),为什么还是无法得到结果呢?
steps的第一个值确实是7,但是你想哈,执行过一次steps = steps * (i + 1)之后,第二次执行它的话,steps就不是7了,也就是说第二次steps = steps * (i + 1),乘的steps不是7
|
|