程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> Python循環中的else語句

Python循環中的else語句

編輯:Python

絕大部分編程語言中都有條件判斷語句,比如 if … else ,在大部語言中,else 一般只在條件判斷語句中出現,與 if 語句配套出現,不過在 Python 中,else 除了能與 if 這樣的條件判斷一起出現外,還能出現在 for、while 這樣的循環語句中。

我們來看一個例子:

s = ["a111", "b222", "c333", "d444", "e555"]
found = False
for c in s:
if c.startswith("c"):
found = True
print u"發現以字母c開頭的項"
break

if not found:
print u"沒有發現以字母c開頭的項"

做一次循環,如果發現滿足條件的字母則打印出提示信息,循環完了還沒有發現則打印出另一條信息。我們需要設置一個額外的變量來記錄是否找到了目標字符(程序中的 found 變量),在循環完成之後再做一個 if 判斷。

上面的寫法當然是可以的,不過如果我們使用循環中的 else 語句的話,代碼會更簡潔清晰。比如:

s = ["a111", "b222", "c333", "d444", "e555"]
for c in s:
if c.startswith("c"):
print u"發現以字母c開頭的項"
break
else:
print u"沒有發現以字母c開頭的項"

 

在這兒,記錄是否找到的額外的變量不需要了,也不再需要在循環完成後再進行 if 判斷,但達到的效果和第一段代碼是一樣的。

在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved