正如我們在之前的帖子中所說… 課程 使用Linux進行Python編程 當我們需要程式持續運行時,可以使用循環。循環會根據一個或多個條件重複執行程式碼。
我們在上一篇文章中解釋了這些說明的用途。 打破 y 繼續。
使用 Linux 的 Python 程式設計課程
讓我們詳細了解這段程式碼的功能:
intentos = 0
建立變數“attempts”,用於追蹤使用者有效登入的次數。將其值設為0。
while intentos = 5
它規定,除非遇到 break 指令,否則循環必須執行 5 次。
distro = input(f"Intento {intentos + 1}/5 - Escribí una distro: ")
它會提示使用者輸入發行版名稱,並將其賦值給變數 `distro`。為了避免使用者混淆,它會將計數器顯示的「嘗試 0」錯誤地顯示為「嘗試 1」。
if distro == ""
檢查使用者是否在未輸入任何內容的情況下按下了回車鍵。
print("No escribiste nada, no cuenta como intento.")
它會通知用戶他們還沒有輸入任何內容。
continue
重新開始循環,但不增加任何嘗試次數。
intentos += 1
如果使用者輸入了內容,則計數器加一。
if distro == "Ubuntu"
檢查使用者是否輸入了“Ubuntu”
print(f"¡Correcto! Adivinaste en {intentos} intento(s).")
請指出答案是否正確以及需要嘗試多少次。
break
由於使用者判斷正確,循環停止。
else:
由於嘗試次數少於 5 次的條件不再滿足,因此適用替代方案。
print("¡Se acabaron los intentos! Era Ubuntu.")
列印出的訊息是嘗試次數已用完,並且發行版是 Ubuntu。
for 迴圈
當我們希望程式重複執行直到滿足某個條件時,while 迴圈就很有用。 如果我們想要執行一個循環,例如顯示清單中的所有元素,而該清單的元素數量是可變的,那麼指令將更有用。 對於.
語法如下:
for variable in secuencia
for 迴圈可以處理一個序列,該序列可以是清單、文字字串或數字範圍。 它會遍歷整個序列,對序列中的每個元素執行相同的程式碼區塊。
這是一個例子:
打破
該指令 打破 在到達序列末端之前停止循環執行。
distribuciones = ["Ubuntu", "Debian", "Linux Mint", "Arch Linux", "Fedora"]
建立分佈列表
distro_a_buscar = "Debian"
它表示將尋求使用 Debian 發行版。
for distro in distribuciones
它將列表中的每個元素依序指派給 distro 變數。
print("Buscando...")
每次嘗試開始時顯示搜尋訊息。
if distro == distro_a_buscar
檢查是否找到了您要查找的分佈。
print("Distribución encontrada:", distro)
它會顯示找到搜尋到的發行版的訊息,並列印出它的名稱。
break
停止循環。
print("Fin de la búsqueda.")
它會顯示搜尋完成訊息,即使沒有找到搜尋的發行版,它也會顯示該訊息。
繼續
`continue` 指令的作用類似 `while` 迴圈。當 Python 遇到它時,會跳到清單中的下一個元素,忽略剩餘的程式碼。當當前元素不滿足某個條件,但我們仍然希望循環繼續執行時,這非常有用。
舉個例子:
distros = ["Ubuntu", "Debian", "arch linux", "Fedora", "Linux Mint"]
請列出 5 個 Linux 發行版。 “arch linux”特意使用小寫。
for distro in distros
遍歷清單中的每個元素,依序將其賦值給變數 distro。
if distro[0].islower():
檢查分配名稱的首字母是否大寫。
print(f"'{distro}' 不是以大寫字母開頭",")
它會通知用戶,目前發行版名稱不符合以大寫字母開頭的條件,並會繼續使用下一個發行版:
繼續
由於條件不滿足,因此循環進入下一個元素。
print(f"* {distro}")
列印出以大寫字母開頭的分佈。
範圍
range 函數與 for 迴圈結合使用。 產生數字序列.
range(inicio, fin, paso)
其中:
- 主頁: 序列的起始編號。預設值為 0。
- 結束: 這是序列結束時的最後一個數字,不包括這個值。
- 他通過: 它是序列中每個數字之間的間隔。預設值為 1。
假設我們有這樣一條指令:
for i in range(4):
由於預設情況下它從 0 開始,並使用 1 的範圍,因此該指令:
print(i)
它會印出0到3之間的數字。
而如果我們定義循環:
for i in range(4, 10):
print(i)
它會顯示從4到9的所有數字。
循環期間:
for i in range(3, 21, 3):
透過這樣做:
print(i)
它會顯示
3
6
9
12
15
18
我們也可以產生降序排列的數字序列:
for i in range(21, 3,- 3):
可以使用 `range` 來列舉清單中的元素。程式碼大致如下:
讓我們詳細了解一下這個程式。
distros = ["Ubuntu", "Debian", "Fedora"]
建立包含三個分佈的清單。
len(distros)
確定清單中的項目數量。
range(len(distros))
它將清單中的項目數設定為範圍的上限。
for i in range(len(distros)):
開始逐項檢查清單上的項目。
print(f"{i} - {distros[i]}")
列印索引和清單項目。
然而,用以下方法可以更輕鬆地實現這一點:
for i, distro in enumerate(distros)
下一篇文章我們將繼續介紹Python的特性。