011讲动动手,感到十分困惑
steps = 7i = 1
FIND = False
while i < 100:
if (steps%2==1) and (steps%3==2) and (steps%5==4) and (steps%7==0):
FIND = True
break
else:
steps= steps *i %为什么这行是这样就得不出答案呢????
i = i + 1
if FIND == True:
print('阶梯数是:', steps)
else:
print('在程序限定的范围内找不到答案!')
这样可能把答案跳过去了。 这样是找不到答案的,打印一下 steps 每次循环就能看出来
steps = 7
i = 1
FIND = False
while i < 100:
if (steps % 2 == 1) and (steps % 3 == 2) and (steps % 5 == 4) and (steps % 7 == 0):
FIND = True
break
else:
steps = steps * i
print(steps)
i = i + 1
if FIND == True:
print('阶梯数是:', steps)
else:
print('在程序限定的范围内找不到答案!') 你这样写,类似于阶乘了,跳跃台阶数的太大,正常应该是等差
第一次循环 step=7
第二次循环 step=7*1=7
第三次循环 step=7*2=14
第四次循环 step=14*3=42
第五次循环 step=42*4=168
第六次循环 step=168*5=840
…… 懂了,谢谢老哥哈
页:
[1]