if语句不在for循环中工作

时间:2018-03-11 03:29:39

标签: python for-loop if-statement

我是初学者。我在python中进行迭代计算,如

for i in range(30):
    if i<10:
       p = 1
    if 10<=i<20:
       p = 2
    else:
       p = 3

然而,当我运行代码时,对于if i&lt; 10的情况,我得到p = 3,这是其他情况。在第二种情况下我得到正确的p = 2。这段代码有什么问题?

1 个答案:

答案 0 :(得分:2)

对于您的代码,第一个ifelse语句都将在i < 10时运行。也许您应该将第二个if更改为elif

for i in range(30):
   if i<10:
      p = 1
   elif 10<=i<20:
      p = 2
   else:
      p = 3