2012-01-26 5 views
0

для следующего кода:Python ошибка отступы, если/другое заявление

if __name__ == '__main__': 
    min_version = (2,5) 
    current_version = sys.version_info 
if (current_version[0] > min_version[0] or 
    current_version[0] == min_version[0] and 
    current_version[1] >= min_version[1]): 
else: 
    print "Your python interpreter is too old. Please consider upgrading." 
    config = ConfigParser.ConfigParser() 
    config.read('.hg/settings.ini') 
    user = config.get('user','name') 
    password = config.get('user','password') 
    resource_name = config.get('resource','name') 
    server_url = config.get('jira','server') 
    main() 

я получаю ошибку:

else: 
    ^
IndentationError: expected an indented block 
+0

Какую версию Python вы используете? –

ответ

5

У вас нет ничего в if стороне вашей, если заявление. Ваш код переходит непосредственно к else, в то время как python ожидал блок («отступом», если быть точным, то, что он вам говорит)

По крайней мере, вам нужен блок с просто " передать заявление, как это:

if condition: 
    pass 
else: 
    # do a lot of stuff here 

в этом случае, однако, если вы на самом деле не хочу, чтобы сделать что-нибудь в if сторону, то было бы понятнее, чтобы сделать это:

if not condition: 
    # do all of your stuff here 
2

if должен содержать один или несколько элементов ements, например .:

if (current_version[0] > min_version[0] or 
    current_version[0] == min_version[0] and 
    current_version[1] >= min_version[1]): 
    pass # <-------------------------------------ADDED 
else: 
    # ... 

pass утверждение является заполнителем утверждение, что ничего не делает.

Смежные вопросы