我收到缩进错误,但我的代码缩进正确。如果我取出if语句,代码将运行良好。以下是相关摘录:
80 try:
81 votes_a = breakdown[0]['count']
82
83 if breakdown[0]['pick'] != m.home:
84 votes_b = votes_a
85 except IndexError:
86 votes_a = 0.0
如果我删除第83行和第84行,代码将起作用。在try / except的python代码块中是否有可能/可取的控制语句?
欢呼声
更新: 缩进错误不是django告诉我的,这是上面的行。而且,是的,那里有一个标签而不是空格。感谢。
答案 0 :(得分:8)
当然有可能。如果您收到缩进错误,但缩进在视觉上看起来很好,那么您很可能将制表符与空格混合。最好不要使用制表符。您可以使用-tt
运行Python来检测不一致的选项卡使用情况。
答案 1 :(得分:3)
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> breakdown = []
>>> breakdown.append({'count':5, 'pick':0})
>>> abc = 0
>>> try:
... votes_a = breakdown[0]['count']
... if breakdown[0]['pick'] != abc:
... votes_b = votes_a
... except IndexError:
... votes_a = 0.0
...
>>> print votes_a
5
>>>
看起来,代码本身很好。你一定搞乱了空格/标签