dukai 发表于 2023-1-14 15:15:27

新人求问:这里的FIND是干什么的啊,为什么要等于False

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('在程序限定的范围内找不到答案!')

jackz007 发表于 2023-1-14 15:40:07

本帖最后由 jackz007 于 2023-1-14 15:41 编辑

      因为寻找是在循环过程中进行,而无论是否找到这个台阶数,循环最终都会结束。那么,在循环结束后,究竟如何判断是否已经找到呢?答案就是用 FIND。
      循环开始前,先为 FIND 赋值为 False,在循环过程中,如果找到了目标台阶数,那就修改 FIND 的值为 True,并立即结束循环。循环结束后,如果 FIND 的值依然是 False,那就说明没有找到目标台阶数,反之,那就是已经找到了。

Twilight6 发表于 2023-1-14 15:42:37


就是一个 标识变量,这里就是用于判断到底找没找到这个阶段

一开始就赋值为 False,就是相当于初始化嘛

False 时,会执行最后的 else 也就是没有找到符合条件的阶梯数

而循环过程中如果找到了,就会将这个标识变量赋值为 True

表示找到了符合条件的阶梯数,这样最后的 if 就成立,打印出具体阶梯数了

页: [1]
查看完整版本: 新人求问:这里的FIND是干什么的啊,为什么要等于False