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