Python條件語句和迴圈語句簡單使用方法

来源:https://www.cnblogs.com/djdjdj123/archive/2022/11/07/16867439.html
-Advertisement-
Play Games

1.Python條件語句 Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。 可以通過下圖來簡單瞭解條件語句的執行過程: Python程式語言指定任何非0和非空(null)值為true,0 或者 null為false。 Python 編程中 if 語句用 ...


1.Python條件語句

Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。

可以通過下圖來簡單瞭解條件語句的執行過程:
在這裡插入圖片描述
Python程式語言指定任何非0和非空(null)值為true,0 或者 null為false。

Python 編程中 if 語句用於控製程序的執行,基本形式為:

if 判斷條件:
    執行語句……
else:
    執行語句……

其中"判斷條件"成立時(非零),則執行後面的語句,而執行內容可以多行,以縮進來區分表示同一範圍。

else 為可選語句,當需要在條件不成立時執行內容則可以執行相關語句。

具體例子如下:

例1:if 基本用法

flag = False
name = 'lizexiong'
if name == 'python':         # 判斷變數是否為 python 
    flag = True              # 條件成立時設置標誌為真
    print ('welcome lizexiong')     # 並輸出歡迎信息
else:
    print (name)               # 條件不成立時輸出變數名稱
輸出結果為:

lizexiong            # 輸出結果

if 語句的判斷條件可以用>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)來表示其關係。

當判斷條件為多個值時,可以使用以下形式:

if 判斷條件1:
    執行語句1……
elif 判斷條件2:
    執行語句2……
elif 判斷條件3:
    執行語句3……
else:
    執行語句4……

實例如下:

例2:elif用法

num = 5     
if num == 3:            # 判斷num的值
    print 'boss'        
elif num == 2:
    print 'user'
elif num == 1:
    print 'worker'
elif num < 0:           # 值小於零時輸出
    print 'error'
else:
    print 'lizexiong'     # 條件均不成立時輸出
輸出結果為:

lizexiong        # 輸出結果

由於 python 並不支持 switch 語句,所以多個條件判斷,只能用 elif 來實現,如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。

例3:if語句多個條件

num = 9
if num >= 0 and num <= 10:    # 判斷值是否在0~10之間
    print ('hello')
# 輸出結果: hello
 
num = 10
if num < 0 or num > 10:    # 判斷值是否在小於0或大於10
    print ('hello')
else:
    print ('undefine')
# 輸出結果: undefine
 
num = 8
# 判斷值是否在0~5或者10~15之間
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    print ('hello')
else:
    print ('undefine')

# 輸出結果: undefine

當if有多個條件時可使用括弧來區分判斷的先後順序,括弧中的判斷優先執行,此外 and 和 or 的優先順序低於>(大於)、<(小於)等判斷符號,即大於和小於在沒有括弧的情況下會比與或要優先判斷。

1.1 簡單的語句組

你也可以在同一行的位置上使用if條件判斷語句,如下實例:

 
var = 100 
 
if ( var  == 100 ) : print ("變數 var 的值為100") 
 
print ("Good bye!")


以上代碼執行輸出結果如下:

變數 var 的值為100
Good bye!

2.Python 迴圈語句

本章節將向大家介紹Python的迴圈語句,程式在一般情況下是按順序執行的。

編程語言提供了各種控制結構,允許更複雜的執行路徑。

迴圈語句允許我們執行一個語句或語句組多次,下麵是在大多數編程語言中的迴圈語句的一般形式:
在這裡插入圖片描述

Python 提供了 for 迴圈和 while 迴圈(在 Python 中沒有 do..while 迴圈):
在這裡插入圖片描述
迴圈控制語句

迴圈控制語句可以更改語句執行的順序。Python支持以下迴圈控制語句:
在這裡插入圖片描述

2.1 While 迴圈語句

Python 編程中 while 語句用於迴圈執行程式,即在某條件下,迴圈執行某段程式,以處理需要重覆處理的相同任務。其基本形式為:

while 判斷條件(condition):
    執行語句(statements)……

執行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。

當判斷條件假 false 時,迴圈結束。

執行流程圖如下:
在這裡插入圖片描述

Gif 演示 Python while 語句執行過程
在這裡插入圖片描述
複雜一點:
在這裡插入圖片描述
實例

count = 0
while (count < 9):
   print ('The count is:', count)
   count = count + 1
 
print "Good bye!"

運行實例 »
以上代碼執行輸出結果:
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

while 語句時還有另外兩個重要的命令 continue,break 來跳過迴圈,continue 用於跳過該次迴圈,break 則是用於退出迴圈,此外"判斷條件"還可以是個常值,表示迴圈必定成立,具體用法如下:

continue 和 break 簡介

continue 和 break 用法

i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非雙數時跳過輸出
        continue
    print (i)         # 輸出雙數2、4、6、8、10
 
i = 1
while 1:            # 迴圈條件為1必定成立
    print (i)         # 輸出1~10
    i += 1
    if i > 10:     # 當i大於10時跳出迴圈
        break

無限迴圈

如果條件判斷語句永遠為 true,迴圈將會無限的執行下去,如下實例:

var = 1
while var == 1 :  # 該條件永遠為true,迴圈將無限執行下去
   num = raw_input("Enter a number  :")
   print ("You entered: ", num)
 
print "Good bye!"


以上實例輸出結果:

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback (most recent call last):
  File "test.py", line 5, in <module>
    num = raw_input("Enter a number :")
KeyboardInterrupt

註意:以上的無限迴圈你可以使用 CTRL+C 來中斷迴圈。

迴圈使用 else 語句

在 python 中,while … else 在迴圈條件為 false 時執行 else 語句塊:

count = 0
while count < 5:
   print (count, " is  less than 5")
   count = count + 1
else:
   print (count, " is not less than 5")

以上實例輸出結果為:
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

簡單語句組

類似 if 語句的語法,如果你的 while 迴圈體中只有一條語句,你可以將該語句與while寫在同一行中, 如下所示:
複製代碼

flag = 1

while (flag): print ('Given flag is really true!')

print ("Good bye!")

註意:以上的無限迴圈你可以使用 CTRL+C 來中斷迴圈。

2.2 for 迴圈語句

Python for迴圈可以遍歷任何序列的項目,如一個列表或者一個字元串。

語法:

for迴圈的語法格式如下:

for iterating_var in sequence:
   statements(s)

在這裡插入圖片描述
實例:

for letter in 'Python':     # 第一個實例
   print("當前字母: %s" % letter)
 
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二個實例
   print ('當前水果: %s'% fruit)
 
print ("Good bye!")

以上實例輸出結果:

當前字母: P
當前字母: y
當前字母: t
當前字母: h
當前字母: o
當前字母: n
當前水果: banana
當前水果: apple
當前水果: mango
Good bye!

通過序列索引迭代

另外一種執行迴圈的遍歷方式是通過索引,如下實例:

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print ('當前水果 : %s' % fruits[index])
 
print ("Good bye!")
以上實例輸出結果:

當前水果 : banana
當前水果 : apple
當前水果 : mango
Good bye!

以上實例我們使用了內置函數 len() 和 range(),函數 len() 返回列表的長度,即元素的個數。 range返回一個序列的數。

迴圈使用 else 語句

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

for num in range(10,20):  # 迭代 10 到 20 之間的數字
   for i in range(2,num): # 根據因數迭代
      if num%i == 0:      # 確定第一個因數
         j=num/i          # 計算第二個因數
         print ('%d 等於 %d * %d' % (num,i,j))
         break            # 跳出當前迴圈
   else:                  # 迴圈的 else 部分
      print ('%d 是一個質數' % num)


以上實例輸出結果:
10 等於 2 * 5
11 是一個質數
12 等於 2 * 6
13 是一個質數
14 等於 2 * 7
15 等於 3 * 5
16 等於 2 * 8
17 是一個質數
18 等於 2 * 9
19 是一個質數

2.3 迴圈嵌套

Python 語言允許在一個迴圈體裡面嵌入另一個迴圈。

Python for 迴圈嵌套語法:

for iterating_var in sequence:
   for iterating_var in sequence:
      statements(s)
   statements(s)

Python while 迴圈嵌套語法:

while expression:
   while expression:
      statement(s)
   statement(s)

你可以在迴圈體內嵌入其他的迴圈體,如在while迴圈中可以嵌入for迴圈, 反之,你可以在for迴圈中嵌入while迴圈。

實例:

以下實例使用了嵌套迴圈輸出2~100之間的素數:

i = 2
while(i < 100):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : print (i, " 是素數")
   i = i + 1

print ("Good bye!")

結果輸出:
2 是素數
3 是素數
....
97 是素數
Good bye!

3.迴圈控制語句

3.1 break 語句

Python break語句,就像在C語言中,打破了最小封閉for或while迴圈。

break語句用來終止迴圈語句,即迴圈條件沒有False條件或者序列還沒被完全遞歸完,也會停止執行迴圈語句。

break語句用在while和for迴圈中。

如果您使用嵌套迴圈,break語句將停止執行最深層的迴圈,並開始執行下一行代碼。

Python語言 break 語句語法:

break

在這裡插入圖片描述

'''
學習中遇到問題沒人解答?小編創建了一個Python學習交流群:711312441
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書!
'''
for letter in 'Python':     # 第一個實例
   if letter == 'h':
      break
   print ('當前字母 :', letter)
  
var = 10                    # 第二個實例
while var > 0:              
   print ('當前變數值 :', var)
   var = var -1
   if var == 5:   # 當變數 var 等於 5 時退出迴圈
      break
 
print ("Good bye!")

以上實例執行結果:
當前字母 : P
當前字母 : y
當前字母 : t
當前變數值 : 10
當前變數值 : 9
當前變數值 : 8
當前變數值 : 7
當前變數值 : 6
Good bye!

3.2 continue 語句

Python continue 語句跳出本次迴圈,而break跳出整個迴圈。

continue 語句用來告訴Python跳過當前迴圈的剩餘語句,然後繼續進行下一輪迴圈。

continue語句用在while和for迴圈中。

Python 語言 continue 語句語法格式如下:

continue

在這裡插入圖片描述

for letter in 'Python':     # 第一個實例
   if letter == 'h':
      continue
   print ('當前字母 :', letter)
 
var = 10                    # 第二個實例
while var > 0:              
   var = var -1
   if var == 5:
      continue
   print ('當前變數值 :', var)
print ("Good bye!")

以上實例執行結果:
當前字母 : P
當前字母 : y
當前字母 : t
當前字母 : o
當前字母 : n
當前變數值 : 9
當前變數值 : 8
當前變數值 : 7
當前變數值 : 6
當前變數值 : 4
當前變數值 : 3
當前變數值 : 2
當前變數值 : 1
當前變數值 : 0
Good bye!

3.3 pass 語句

Python pass 是空語句,是為了保持程式結構的完整性。

pass 不做任何事情,一般用做占位語句。

Python 語言 pass 語句語法格式如下:

pass

實例

# 輸出 Python 的每個字母
for letter in 'Python':
   if letter == 'h':
      pass
      print ('這是 pass 塊')
   print ('當前字母 :', letter)
 
print ("Good bye!")


以上實例執行結果:
當前字母 : P
當前字母 : y
當前字母 : t
這是 pass 塊
當前字母 : h
當前字母 : o
當前字母 : n
Good bye!

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1,設計模式概述 1.1 軟體設計模式的產生背景 "設計模式"最初並不是出現在軟體設計中,而是被用於建築領域的設計中。 1977年美國著名建築大師、加利福尼亞大學伯克利分校環境結構中心主任克裡斯托夫·亞歷山大(Christopher Alexander)在他的著作《建築模式語言:城鎮、建築、構造》中 ...
  • 面向對象 一、三大特征之繼承 python三大特征: 封裝、繼承、多態 三者中繼承最為核心,實際應用多,感受較為直觀 封裝和多態略微抽象 1、繼承的概念 繼承的含義: ​ 在現實生活中,繼承表示人與人之間資源的從屬關係 ​ 例如:兒子繼承父親 ​ 在編程的世界中,繼承表示類與類之間的資源從屬關係 ​ ...
  • 簡介: 註冊樹模式,屬於結構型的設計模式。一種很簡單的設計模式 適用場景: 類似IOC。寫一個龐大的類庫的時候,為了方便各種資源的歸納,可以統一放到一棵樹上。 優點: 把一個個游兵散將一樣的對象進行統一管理。 另外可以根據項目的業務場景自定義層級。 缺點: 增加項目的複雜性。 純粹的註冊樹寫法,缺少 ...
  • log4j 1 升級方案 目標 解決重要安全漏洞 多項目日誌監測改造(可選) 性能提升(可選) 功能擴展(可選) 升級要求 少修改代碼 或 不修改代碼 功能儘可能平替,而不發生基本功能變化 低學習成本 具體方案 完全平替的改造 方案特征 完全平替 沒有額外的學習成本,沒有其他的操作,只需要將jar包 ...
  • Java 線程池之Jetty 線程池學習總結 前提 Jetty 11.0.x 為什麼是Jetty? Java提供4中創建線程池的快捷方式 Executors.newFixedThreadPool(); Executors.newCachedThreadPool(); Executors.newSin ...
  • 簡述 運行時,為原對象拓展新的行為。 相較於傳統的繼承來拓展新的行為,裝飾器模式更為的靈活多變,當然實現起來也更為複雜。 話不多說,看個優化案例吧。 優化案例 最初版v0 現有系統中有設定視窗Style的模塊,現在想增加一個圓角的樣式。以下是現有模塊的代碼。 class Style { public ...
  • auth 1.我們在開發一個網站的時候,無可避免的需要設計實現網站的用戶系統。此時我們需要實現包括用戶註冊、用戶登錄、用戶認證、註銷、修改密碼等功能,這還真是個麻煩的事情呢。 2.Django作為一個完美主義者的終極框架,當然也會想到用戶的這些痛點。它內置了強大的用戶認證系統–auth,它預設使用 ...
  • Servlet02 6.GET和POST請求的分發處理 開發Servlet,通常編寫doGet,doPost方法。來對錶單的get和post請求進行分發處理 例子 在web文件夾下麵創建一個html頁面,用於提交表單 <!DOCTYPE html> <html lang="en"> <head> < ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...