为什么在Python的TRY块中不可能有IF语句,如果可能的话,这是一个好的实践吗?

2024-10-05 22:43:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到一个缩进错误,但我的代码缩进正确。如果我去掉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行,代码将正常工作。在python代码的try/except块中有控制语句是不可能/不可取的吗?你知道吗

干杯

更新: 压痕错误不在django告诉我的那一行,而是上面的那一行。是的,有一个标签,而不是一个空格。谢谢。你知道吗


Tags: 代码homeifcount错误语句tryexcept
2条回答

当然有可能。如果出现缩进错误,但缩进在视觉上看起来很好,很有可能是制表符和空格混合在一起了。最好不要使用标签。可以使用-tt运行Python来检测不一致的选项卡用法。你知道吗

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
>>>

看起来,代码本身很好。你一定把空格/标签弄乱了

相关问题 更多 >