簡體   English   中英

為什么不能在Python的TRY塊中使用IF語句,如果可能的話,這是不錯的做法?

[英]Why is it not possible to have an IF statement in a TRY block in Python, and if somehow possible, is it good practice?

我收到縮進錯誤,但我的代碼縮進正確。 如果我取出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告訴我的行中,這是上面的行。 而且,是的,那里有一個標簽而不是空格。 謝謝。

當然有可能。 如果您收到縮進錯誤,但縮進在視覺上看起來很好,那么您很可能將制表符與空格混合。 最好不要使用制表符。 您可以使用-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
>>>

看起來,代碼本身很好。 你必須搞砸某處的空格/標簽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM