Python-programmeringskurs med Linux. Del tolv.

Programmering i Python med Linux

Som vi sa i föregående inlägg av detta curso Python-programmering med Linux, När vi behöver att ett program ska köras kontinuerligt kan vi använda loopar. Dessa upprepar kodexekveringen så länge ett eller flera villkor är uppfyllda.

Vi hade lämnat den föregående artikeln som förklarade användbarheten av instruktionerna. bryta y fortsätter.

Python-programmeringskurs med Linux

Använda instruktionerna break och continue inom en loop

Med hjälp av instruktionerna break och continue inom en while-loop kan vi stoppa exekveringen av koden inuti loopen, antingen delvis eller helt.

Låt oss ta en närmare titt på vad den här koden gör:

intentos = 0

Skapa variabeln "attempts" för att hålla reda på hur många giltiga inloggningar användaren gjorde. Sätt dess värde till 0.

while intentos = 5

Den anger att loopen måste exekveras 5 gånger om den inte stöter på break-instruktionen.

distro = input(f"Intento {intentos + 1}/5 - Escribí una distro: ")

Den uppmanar användaren att ange namnet på en distribution och tilldelar den variabeln `distro`. För att undvika att förvirra användaren visar den vad räknaren skulle visa som försök 0 som försök 1.

if distro == ""

Kontrollera om användaren tryckte på Enter utan att skriva något.

print("No escribiste nada, no cuenta como intento.")

Den meddelar användaren att de inte har skrivit något

continue

Starta om loopen utan att lägga till några försök.

intentos += 1

Om användaren skrev något läggs ett försök till räknaren.

if distro == "Ubuntu"

Kontrollera om användaren skrev "Ubuntu"

print(f"¡Correcto! Adivinaste en {intentos} intento(s).")

Ange om svaret är rätt och hur många försök som krävdes.

break

Eftersom användaren hade rätt stoppas loopen.

else:

Eftersom villkoret om färre än 5 försök inte längre är uppfyllt gäller alternativet.

print("¡Se acabaron los intentos! Era Ubuntu.")

Meddelandet skrivs ut att försöken har löpt ut och att distributionen var Ubuntu.

For-slingan

While-loopen är användbar när vi vill att ett program ska upprepas tills ett visst villkor är uppfyllt. Om vi ​​vill exekvera en loop, till exempel genom att visa alla element i en lista, och den listan har ett variabelt antal element, kommer instruktionen att vara mer användbar. för.

Syntaksen är som följer:

for variable in secuencia

For-loopen fungerar med en sekvens som kan vara en lista, en textsträng eller ett numeriskt område.
 och den passerar den i sin helhet och exekverar samma kodblock för varje element i sekvensen.

Detta är ett exempel:

Använda for-loopen i Python 3

Det här exemplet visar meddelandeuppsättningen för varje objekt i listan.

Ha sönder

Instruktionen bryta stoppar loopkörningen innan slutet av sekvensen nås.

Break-satsen i en for-loop

I det här fallet stoppar break-instruktionen for-blocket när önskat resultat hittas.


distribuciones = ["Ubuntu", "Debian", "Linux Mint", "Arch Linux", "Fedora"]

Skapa en lista över distributioner

distro_a_buscar = "Debian"

Det står att Debian-distributionen kommer att efterfrågas.

for distro in distribuciones

Den tilldelar sekventiellt varje element i listan till distrovariabeln.

print("Buscando...")

Visar sökmeddelandet i början av varje försök.

if distro == distro_a_buscar

Kontrollera om du hittade distributionen du sökte efter.

print("Distribución encontrada:", distro)

Den ger meddelandet att den sökta distributionen hittades och skriver ut namnet.

break

Stoppa loopen.

print("Fin de la búsqueda.")

Den visar meddelandet om att sökningen är klar, vilket den också skulle göra även om den sökta distributionen inte hittades.

Fortsätta

Instruktionen `continue` fungerar på liknande sätt som `while`-loopen. När Python stöter på den hoppar den till nästa element i listan och ignorerar den återstående koden. Detta är användbart när det aktuella elementet inte uppfyller ett villkor, men vi ändå vill att loopen ska fortsätta att köras.

Här är ett exempel:

Använda continue-instruktionen i en for-loop.

Instruktionen continue, i en for-loop, precis som i en while-loop, stoppar exekveringen av den aktuella koden och går vidare till nästa element i listan.

distros = ["Ubuntu", "Debian", "arch linux", "Fedora", "Linux Mint"]

Skapa en lista med 5 Linuxdistributioner. Den gemena bokstaven "arch linux" är avsiktligt.

for distro in distros

Iterera igenom varje element i listan och tilldela det i tur och ordning till variabeln distro.

if distro[0].islower():

Kontrollera att den första bokstaven i fördelningen är versal.

print(f»'{distro}' börjar inte med stor bokstav,»)

Den meddelar användaren att distributionen inte uppfyller villkoret att börja med versaler och att den kommer att fortsätta med nästa:

fortsätta

Eftersom villkoret inte är uppfyllt går den vidare till nästa element i loopen.

print(f"* {distro}")

Skriv ut de fördelningar som uppfyller villkoret att börja med stor bokstav.

Mätområde

Funktionen range används tillsammans med for-loopen för att generera nummersekvenser.

range(inicio, fin, paso)

Var:

  • Home: Nummer där sekvensen börjar. Standard är 0
  • end: Det är numret där sekvensen slutar utan att inkludera detta värde.
  • Han passerade:  Det är intervallet mellan varje tal i sekvensen. Som standard är det 1.

Anta att vi har denna instruktion:

for i in range(4):

Eftersom den som standard börjar från 0 och använder intervallet 1, gäller följande instruktion:

print(i)

Den kommer att skriva ut siffrorna från 0 till 3.

Medan om vi definierar loopen:

for i in range(4, 10):

print(i)

Den kommer att visa alla siffror från 4 till 9

Medan loopen:

for i in range(3, 21, 3):

Genom att göra:

print(i)

Det kommer att visa

3

6

9

12

15

18

Vi kan också generera talföljden i fallande ordning:

for i in range(21, 3,- 3):

Det är möjligt att använda `range` för att räkna upp elementen i en lista. Det skulle se ut ungefär så här:

Använda intervall för att räkna upp objekt i en lista

Range kan användas för att räkna upp elementen i en lista, även om Python 3 har ett eget kommando för det.

Låt oss titta på programmet i detalj

distros = ["Ubuntu", "Debian", "Fedora"]

Skapa en lista med tre fördelningar.

len(distros)

Bestäm antalet objekt i listan.

range(len(distros))

Den anger antalet objekt i listan som den övre gränsen för intervallet.

for i in range(len(distros)):

Börja gå igenom vart och ett av punkterna på listan.

print(f"{i} - {distros[i]}")

Skriver ut indexet och listobjektet.

Detta kan dock göras enklare med:

for i, distro in enumerate(distros)

I nästa artikel fortsätter vi med funktionerna i Python.