關於try/except的問題?

1.這裡的while true是如何工作的?

2.能不能用其他方法代替這個程序的功能?

3.try/except只能用於捕捉異常嗎,還有其他有用的情況嗎?


在python3下,提問者的代碼轉化如下:

  • 關於while

while是循環語句塊,示例如下:

while True:

執行語句

於是,在改代碼里,可以一直不斷的重複循環,除非遇到break 循環中斷。

  • 關於try-except-else

try-except一般是拿來處理異常,具體是指對try裡面的代碼塊進行異常檢查,如果出現異常,則執行except裡面的代碼塊的代碼。如題所述,try-except-else 主要是如果沒有遇到異常,那麼就執行else代碼塊代碼。在本例中,else里執行break(中斷while循環)

可以這樣修改:

修改後的代碼和之前的代碼完全等價,並且更加靈活。

本地Python終端太重,喜歡Python的小夥伴可以嘗試使用雲端Python: BigQuant - 人工智慧量化投資平台


本人只是稍有了解。

1) while True 表示下面的一段內容無限循環,直到遇到未處理異常或者 break 或其他結束程序的函數才退出。

2) 可以。可以寫成

while True :
x = input(xxxx )
y = input(yyyy )
if ... : # ... 換成合法的具體條件,如 y!=0
print x/y is , x/y
break
else:
print Try again!

但這個異常處理已經利用了 Python 語言內置的合法條件,不用再手動寫條件了。

3) try/except 原則上應該只處理異常;但也有一些用法是用異常實現控制流。


推薦閱讀:

PyQt5番外篇(1):PyQt5與Opencv的小小融合
Python 文本解析器
利用簡書首頁文章標題數據生成詞雲
Python操作SQLite/MySQL/LMDB/LevelDB

TAG:Python | Python入門 | Python教程 |