python 中的 for-else 和 while-else 語句
python 中的 for-else 和 while-else 語句
絕大部分程式語言中都有條件判斷語句,比如 if-else。這裡的 else 一般與 if 成對使用。不過在 Python 中,else 除了能與 if 配合外,還能和 for、while 配對使用。
我們來看一個例子:
假設有一個列表用來儲存學生資訊,列表的元素是字典,字典中的鍵有姓名、年齡等。讓使用者輸入一個名字,然後在列表中查詢,如果有這個名字就告訴使用者“找到了”,反之告訴使用者“沒有找到”。
一般情況下,我們可能會這樣寫:
info = [{"name":"Leslie", "age":30},
{"name":"Karl", "age":20},
{"name":"Tom", "age":25}]
to_find_name = input("please input a name:")
found_flag = False
for person in info:
if person["name"] == to_find_name:
found_flag = True
if found_flag:
print("Found it")
else:
print("Not found")
程式執行結果如下:
please input a name:Tom
Found it
please input a name:Wang
Not found
細心的你肯定發現了:程式碼在第7行定義了一個標誌變數,其預設值是False;在對列表的遍歷中,如果找到了,就把這個變數賦值為True;最後根據這個變數的值,列印出查詢結果。
如果使用了 for-else 語句,程式碼可以這樣寫:
info = [{"name":"Leslie", "age":30},
{"name":"Karl", "age":20},
{"name":"Tom", "age":25}]
to_find_name = input("please input a name:")
for person in info:
if person["name"] == to_find_name:
print("Found it")
break;
else:
print("Not found")
執行結果和前面是一樣的。
這裡的邏輯是:如果執行了 break,那麼就不執行 else 語句;如果沒有執行 break,那麼就執行 else 語句。
這樣寫的優點是:節省筆墨,不用再設定一個標誌變數。
有的朋友會問,如果 for 的迴圈體中沒有 break 語句,else 語句還會執行嗎?答案是:會!
while-else 的用法同理。
相關文章
- Python 中的for,if-else和while語句PythonWhile
- Python中break語句和continue語句有什麼區別?Python
- Python-條件語句和迴圈語句Python
- python中try語句的工作過程Python
- Python中if else語句出錯Python
- 草根學Python(五) 條件語句和迴圈語句Python
- 【Python基礎知識】Python中的while語句PythonWhile
- 理解Python的With語句Python
- Python with 語句的用法Python
- python中try..except語句如何使用?Python
- python中for語句讀取生成器Python
- Python中匯入模組或包語句Python
- 說說 Python 的 if 語句Python
- Python的迴圈語句Python
- 淺談 Python 的 with 語句Python
- JavaScript中的switch語句JavaScript
- sql 中的with 語句使用SQL
- Mysql中的DQL語句MySql
- SqlServer中迴圈和條件語句SQLServer
- python-with語句Python
- python 控制語句Python
- python-語句Python
- python中if語句的用法及if-else結構的使用Python
- Python的運算物件、運算子、表示式和語句Python物件
- python的with語句怎麼使用Python
- Python 迴圈語句的使用Python
- Python零基礎學習筆記(十八)——break語句和continue語句Python筆記
- 英語的靜態句和動態句
- python基礎語法—語句Python
- java中的switch case語句Java
- Javascript中的label語句JavaScript
- php中return語句的使用PHP
- MySQL中explain語句的使用MySqlAI
- oracle中的條件語句Oracle
- Python基礎-if,for語句Python
- Python中if條件判斷語句怎麼用?Python
- 為什麼Python中沒有Switch/Case語句?Python
- hibhibernate中hql中的語句where語句查詢List出現空