灵霜见菱 发表于 2020-9-9 16:33:44

python006讲爱因斯坦难题 不理解地方

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


之中 if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
      flag = 1
为什么缩进要写flag = 1?

还有为什么要写 i+=1

谢谢

sunrise085 发表于 2020-9-9 16:38:03

为什么缩进要写flag = 1?
缩进是python的层次格式,这里 flag = 1 是if内的内容,所以需要缩进啊


还有为什么要写 i+=1
i自加1,才能不断地修改x的值啊

qin_yin 发表于 2020-9-9 19:57:56

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


之中 if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
      flag = 1
为什么缩进要写flag = 1?

还有为什么要写 i+=1

说下我的个人理解的吧,可能没有那么专业,

为什么要缩进要写flag = 1
答:flag = 1 在if条件的缩进里面,当if条件成立了给flag = 1目的是为了
判断if flag == 1:是否成立,成立就输出x的值,不成立就是else:,也可以理解为flag = 1用一个变量存储while循环的if判断成立的信号,while循环外的if条件检测到信号输出x.

还有为什么要写 i+=1
i += 1在这里是循环次数的记录,每循环一次i + 1,(记录一次),然后你看while循环的条件, i < =100,表达是循环次数小于100或者等于100,就进入循环


lils76 发表于 2020-9-10 09:47:14

学习
页: [1]
查看完整版本: python006讲爱因斯坦难题 不理解地方