Python "expected an indented block"


Question

Let me start off by saying that I am COMPLETELY new to programming. I have just recently picked up Python and it has consistently kicked me in the head with one recurring error -- "expected an indented block" Now, I know there are several other threads addressing this problem and I have looked over a good number of them, however, even checking my indentation has not given me better results. I have replaced all of my indents with 4 spaces and even rewritten the code several times. I'll post this counter assignment I got as an example.

option == 1
while option != 0:
    print "MENU"
    option = input()
    print "please make a selection"
    print "1. count"
    print "0. quit"
    if option == 1:
        while option != 0:
            print "1. count up"
            print "2. count down"
            print "0. go back"
            if option == 1:
                print "please enter a number"
                for x in range(1, x, 1):
                    print x
                elif option == 2:
                    print "please enter a number"
                    for x in range(x, 1, 1):
                elif option == 0:
                    break
                else:
                    print "invalid command"
    elif option == 0:
        break
1
27
8/1/2011 4:25:06 PM

Starting with elif option == 2:, you indented one time too many. In a decent text editor, you should be able to highlight these lines and press Shift+Tab to fix the issue.

Additionally, there is no statement after for x in range(x, 1, 1):. Insert an indented pass to do nothing in the for loop.

Also, in the first line, you wrote option == 1. == tests for equality, but you meant = ( a single equals sign), which assigns the right value to the left name, i.e.

option = 1
17
8/1/2011 6:06:23 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon