lllliuhao 发表于 2019-7-25 12:15:43

python 小问题

x = 7
i = 1
flag = 0
while i <= 100:
    if (i % 2 == 1) and (i % 3 == 2) and (i % 5 == 4) and(i % 6 == 5):
      flag = 1
    else:
      x = 7 * (i + 1)
    i = i + 1
if flag == 1:
    print('number=',x)
else:
    print('wrong')

为何 i = i + 1 往后缩进一位就不对了,两者这之间有什么区别

新手·ing 发表于 2019-7-25 12:18:23

i = i + 1再往后缩进就属于else了。
i的作用是控制循环,所以无论是if的情况还是else的情况,i都要加一,而继续缩进,就只有是else的情况才会加一。
建议去看下Python缩进的作用。

ba21 发表于 2019-7-25 12:20:13

缩进一位就不在一个代码块了。如果你稍用一点点心走下流程,就不会这么问了,感觉这样的问题就是不应该问。
你还是稍走下流程吧。

lllliuhao 发表于 2019-7-25 13:21:17

新手·ing 发表于 2019-7-25 12:18
i = i + 1再往后缩进就属于else了。
i的作用是控制循环,所以无论是if的情况还是else的情况,i都要加一, ...

那如果要求一个满足条件的最小数,能不能只有else的情况加1呢,因为if满足的化就可以直接输出结果了,不加1也可以呀?

lllliuhao 发表于 2019-7-25 13:22:01

ba21 发表于 2019-7-25 12:20
缩进一位就不在一个代码块了。如果你稍用一点点心走下流程,就不会这么问了,感觉这样的问题就是不应该问。 ...

就是走过发现不对,但是搞不懂为什么向右缩进就不对了

ba21 发表于 2019-7-25 14:55:24

lllliuhao 发表于 2019-7-25 13:22
就是走过发现不对,但是搞不懂为什么向右缩进就不对了

走过了还不知道。我只能说服。
1、话说,你不知道python是用tab缩进来区别代码块的吗?
2、如果按你的意思的来理解的话,缩进不缩进没区别,为何还要缩进。
x = 7
i = 1
flag = 0
while i <= 100:
if (i % 2 == 1) and (i % 3 == 2) and (i % 5 == 4) and(i % 6 == 5):
flag = 1
else:
。。。。全这样就好了。

3、一条语句在不同的代码块,这条语句或执行,或不执行。

lllliuhao 发表于 2019-7-25 20:17:36

ba21 发表于 2019-7-25 14:55
走过了还不知道。我只能说服。
1、话说,你不知道python是用tab缩进来区别代码块的吗?
2、如果按你的 ...

我不是在问tab的作用呀,我只是问缩进了表示不满足的数都会进入else不也一样都会加1吗,但是为啥不对呢?疑惑点在这

ba21 发表于 2019-7-25 22:19:30

lllliuhao 发表于 2019-7-25 20:17
我不是在问tab的作用呀,我只是问缩进了表示不满足的数都会进入else不也一样都会加1吗,但是为啥不对呢? ...

说多了累,自已加上运行

lllliuhao 发表于 2019-7-25 22:46:08

ba21 发表于 2019-7-25 22:19
说多了累,自已加上运行

谢啦{:10_265:}
页: [1]
查看完整版本: python 小问题