Carlyao 发表于 2020-5-25 17:25:48

关于爱因斯坦阶梯的求助

小白一枚,刚接触编程。听了小甲鱼的python视频,课后题爱因斯坦阶梯的代码有一个地方不理解:

x = 7
i = 1
flag = 0

while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
      flag = 1
    else:
      x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1

if flag == 1:
    print('阶梯数是:', x)
else:
    print('在程序限定的范围内找不到答案!')

我的理解为,i应该做100次循环,最终打出阶梯数应该是539对应i=77,而不是119对应i=17。请问我的理解哪里错了?

qiuyouzhi 发表于 2020-5-25 18:01:02

1,你的i最后结果应该是100。
2,如果符合条件,就不会让x再增加了。

Aber 发表于 2020-5-25 20:07:44

i最多循环100次,当循环到i满足if的条件,跳出循环,满足了flag == 1

然后就输出结果啦
页: [1]
查看完整版本: 关于爱因斯坦阶梯的求助