1

これは私のプログラムであり、次のエラーが表示されます。

def main():
    print "hello"

if __name__=='__main__':
main()

エラー

  File "hello.py", line 8
    main()
    ^
IndentationError: expected an indented block
4

5 に答える 5

6

インデントが外れています。これを試して :

def main():
    print "hello"

if __name__=='__main__':
    main()

すべての関数ブロック、および if-else、ループ ブロックは、タブまたは 4 つのスペース (環境によって異なります) でインデントする必要があります。

if condition :
    statements  //Look at the indentation here
    ...
Out-of-block //And here

いくつかの説明については、これを参照してください。

于 2012-12-28T11:52:28.243 に答える
5
Normal Code
    Indent block
    Indent block
        Indent block 2
        Indent block 2

やったほうがいい:

def main():
    print "hello"

if __name__=='__main__':
    main()

スペースまたはタブのいずれかです。

また、インデントはファイル全体で同じである必要はありませんが、各ブロックに対してのみです。

たとえば、このような作業ファイルを持つことができますが、お勧めしません。

print "hello"
if True:
[TAB]print "a"
[TAB]i = 0
[TAB]if i == 0:
[TAB][SPACE][SPACE]print "b"
[TAB][SPACE][SPACE]j = i + 1
[TAB][SPACE][SPACE]if j == 1:
[TAB][SPACE][SPACE][TAB][TAB]print "c
于 2012-12-28T11:53:39.973 に答える
2

おそらく次のようなものが必要です。

def main():
    print "hello"

if __name__=='__main__':
    main()

凹みに注意してください。行頭の先頭の空白は行のインデント レベルを決定し、Python でステートメントのグループ化を決定するために使用されます。

于 2012-12-28T11:52:29.977 に答える
2

コードは次のようになります。

def main():
    print "hello"

if __name__=='__main__':
    main()
于 2012-12-28T11:52:58.950 に答える