Wsg624 发表于 2020-3-22 17:51:49

求大神讲解零基础学python第六课阶梯那个i 和flag代表什么意思

x = 7代表被七整除,其他i和flag想不通代表什么,后面的flag= 1 flag ==1不知道作用是什么
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)
    i += 1

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

qiuyouzhi 发表于 2020-3-22 17:53:43

i就代表数字,每次循环加1,判断下一个数字
flag就是代表是否找到了答案,找到了就改成1(True)

heidern0612 发表于 2020-3-22 18:29:08

本帖最后由 heidern0612 于 2020-3-22 18:30 编辑

flag只是立个标志,比如说这个题,达到了所求的标准,这个flag就开了(重新赋值这个变量为1)。

反之的话,flag就是个默认的0..

你可以把flag这个变量想象成一个开关,屋子亮了(达到所求),开关就要变成开的(重新复制为1)。

反之屋子黑的(没求到),开关默认就是关的。


ps:你也可以起个别的名字,不叫flag,比如叫charge等,不要被变量名搞糊涂了。

Wsg624 发表于 2020-3-22 18:48:48

heidern0612 发表于 2020-3-22 18:29
flag只是立个标志,比如说这个题,达到了所求的标准,这个flag就开了(重新赋值这个变量为1)。

反之的 ...

懂了,非常感谢!!!

mozhihui 发表于 2020-6-22 20:27:55

heidern0612 发表于 2020-3-22 18:29
flag只是立个标志,比如说这个题,达到了所求的标准,这个flag就开了(重新赋值这个变量为1)。

反之的 ...

还有个疑惑,明明还有其他无数的x值使 flag=1,为啥print(x)只打印出第一个x呢{:5_94:}

heidern0612 发表于 2020-6-23 07:50:04

mozhihui 发表于 2020-6-22 20:27
还有个疑惑,明明还有其他无数的x值使 flag=1,为啥print(x)只打印出第一个x呢

因为你的flag没执行在while里,所以只执行了一次。再有也打不出来了。
页: [1]
查看完整版本: 求大神讲解零基础学python第六课阶梯那个i 和flag代表什么意思