python(缩进)中的简单while循环问题

时间:2019-06-21 06:27:12

标签: python indentation

.map(_.sum)

我今天开始使用python,我了解到它不像Java那样使用方括号{}来关闭循环,但是它使用了缩进。

以上代码仅在删除第(4)行时运行。我应该如何修改代码,使其在最后一行运行?我使用了netbeans的格式,但仍然无法运行。

缩进在python中如何工作?我发现它不使用方括号非常奇怪。

4 个答案:

答案 0 :(得分:2)

  

缩进在python中如何工作?我发现它不使用方括号非常奇怪。

想像{ =缩进,} = outdent,但是“不能仅仅因为”而拥有随机块-每个这样的块都需要一个控制结构来引入它。因此,您的代码将以方括号形式这样编写:

while (1 == 1) {
    x = 1
    print(x)
    ???? {
        x = x + 10
    }
}

x = x + 10的块与任何控制结构都不对应,因此缩进量不应超过print(x)

答案 1 :(得分:2)

只需比较下面的javascript和python之间的语法差异即可。

javascript:

function foo() {
    for (var i=0; i<10; i++) {
        console.log(i);
    }
}

python

def foo():
    for i in range(10):
        print i

以您的情况

您的代码

while 1 == 1:                          
    x = 1                           
    print(x)                           
        x = x + 10  

等效的javascript代码

while(1==1){
var x=1;
console.log(x) {  
     x = x + 10 ;
     }
}

这没有任何意义。应该是

while(1==1){
var x=1;
console.log(x);
x = x + 10 
}

等效的python代码

while 1 == 1:                          
    x = 1                           
    print(x)                           
    x = x + 10

我只是想纠正您的缩进问题,但实际上,如果您要查找增量,则上面的代码无效,因为x = 1分配在循环内,这意味着print(x)总是打印1

更正的代码

x = 1 
while 1 == 1:
    print(x)
    x = x + 10

答案 2 :(得分:1)

while 1 == 1:                          line(1)
    x = 1                              line(2)
    print(x)                           line(3)
    x = x + 10                         line(4)

Java等效->

while (1 == 1)                         
{
    x = 1                              
    System.out.println(x)                
    x = x + 10                         
}

在同一缩进中缩进的所有内容都像Java中的方括号一样对待。 与Java相比,缩进在Java中非常重要,在Java中您可以使用不同的缩进来编写不同的代码行。

答案 3 :(得分:1)

python不使用方括号来声明作用域。它改用制表符。 您只需要将语句放在同一标签中即可。

正确的代码是:

while 1 == 1:
    x = 1
    print(x)
    x = x + 10