Python if/else 语句中的缩进错误
对于以下代码:
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
2 个回答
2
在if
语句里面,必须有一个或多个要执行的操作,比如:
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
语句是一个占位符,它本身不执行任何操作。
6
你的条件语句中的 if
部分没有任何内容。你的代码直接跳到了 else
,而 Python 其实是期待你在 if
后面写一段代码(准确来说,是一个“缩进块”,这就是它想告诉你的)。
至少,你需要在 if
部分写一个包含 'pass' 的代码块,像这样:
if condition:
pass
else:
# do a lot of stuff here
不过,如果你真的不想在 if
部分做任何事情,那你可以这样写,会更清楚:
if not condition:
# do all of your stuff here