Python-programmeercourse met behulp van Linux. Deel twaalf.

Programmeren in Python met behulp van Linux

Zoals we in het vorige bericht al zeiden... curso Python-programmering met behulp van Linux. Wanneer we een programma continu willen laten draaien, kunnen we lussen gebruiken. Deze herhalen de uitvoering van code zolang aan een of meer voorwaarden wordt voldaan.

We hadden het vorige artikel afgesloten met een uitleg over het nut van de instructies. breken y blijven.

Python-programmeercourse met behulp van Linux

Het gebruik van de break- en continue-instructies binnen een lus.

Door de instructies `break` en `continue` binnen een `while`-lus te gebruiken, kunnen we de uitvoering van de code binnen de lus gedeeltelijk of volledig stoppen.

Laten we eens gedetailleerd bekijken wat deze code doet:

intentos = 0

Maak de variabele "attempts" aan om bij te houden hoeveel geldige inlogpogingen de gebruiker heeft gedaan. Stel de waarde ervan in op 0.

while intentos = 5

Er staat dat de lus 5 keer moet worden uitgevoerd, tenzij de break-instructie wordt tegengekomen.

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

Het vraagt ​​de gebruiker om de naam van een distributie in te voeren en wijst deze toe aan de variabele `distro`. Om verwarring bij de gebruiker te voorkomen, wordt wat de teller zou weergeven als poging 0, weergegeven als poging 1.

if distro == ""

Controleer of de gebruiker op Enter heeft gedrukt zonder iets in te typen.

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

Het laat de gebruiker weten dat hij of zij nog niets heeft geschreven.

continue

Start de lus opnieuw zonder pogingen toe te voegen.

intentos += 1

Als de gebruiker iets typt, telt dat mee voor de teller met één poging.

if distro == "Ubuntu"

Controleer of de gebruiker "Ubuntu" heeft ingetypt.

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

Geef aan of het antwoord correct is en hoeveel pogingen er nodig waren.

break

Omdat de gebruiker gelijk had, stopt de lus.

else:

Aangezien niet langer aan de voorwaarde van minder dan 5 pogingen is voldaan, is het alternatief van toepassing.

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

Er wordt een bericht afgedrukt dat het aantal pogingen is opgebruikt en dat de distributie Ubuntu was.

De for-lus

De while-lus is handig wanneer we willen dat een programma zich herhaalt totdat aan een bepaalde voorwaarde is voldaan. Maar Als we bijvoorbeeld een lus willen uitvoeren om alle elementen van een lijst weer te geven, en die lijst een variabel aantal elementen bevat, dan is de instructie nuttiger. besteld,.

De syntaxis is als volgt:

for variable in secuencia

De for-lus werkt met een reeks die een lijst, een tekstreeks of een numeriek bereik kan zijn.
 Het doorloopt de hele reeks en voert hetzelfde codeblok uit voor elk element in de reeks.

Dit is een voorbeeld:

Het gebruik van de for-lus in Python 3

Dit voorbeeld toont het bericht dat is ingesteld voor elk item in de lijst.

Breken

De instructie breken Stopt de lusuitvoering voordat het einde van de reeks is bereikt.

De break-instructie in een for-lus

In dit geval zorgt de break-instructie ervoor dat het for-blok stopt wanneer het gewenste resultaat is gevonden.


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

Maak een lijst van distributies.

distro_a_buscar = "Debian"

Er staat vermeld dat er naar de Debian-distributie gezocht zal worden.

for distro in distribuciones

Het kent elk element van de lijst achtereenvolgens toe aan de variabele `distro`.

print("Buscando...")

Geeft het zoekbericht weer aan het begin van elke poging.

if distro == distro_a_buscar

Controleer of u de gewenste distributie hebt gevonden.

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

Het geeft de melding dat de gezochte distributie is gevonden en print de naam ervan.

break

Stop de lus.

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

Het toont het bericht dat de zoekopdracht is voltooid, wat ook zou gebeuren als de gezochte distributie niet gevonden was.

Doorgaan

De `continue`-instructie werkt vergelijkbaar met de `while`-lus. Wanneer Python deze tegenkomt, slaat het de rest van de code over en gaat verder naar het volgende element in de lijst. Dit is handig wanneer het huidige element niet aan een voorwaarde voldoet, maar we de lus toch willen laten doorlopen.

Hier is een voorbeeld:

Het gebruik van de continue-instructie in een for-lus.

De `continue`-instructie, zowel in een `for`-lus als in een `while`-lus, stopt de uitvoering van de huidige code en gaat verder met het volgende element in de lijst.

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

Maak een lijst van 5 Linux-distributies. De kleine letters "arch linux" zijn opzettelijk.

for distro in distros

Doorloop elk element van de lijst en wijs het achtereenvolgens toe aan de variabele distro.

if distro[0].islower():

Controleer of de eerste letter van de distributie met een hoofdletter is geschreven.

print(f»'{distro}' begint niet met een hoofdletter,»)

Het meldt de gebruiker dat de distributie niet voldoet aan de voorwaarde dat deze met een hoofdletter moet beginnen en dat er met de volgende distributie verdergegaan zal worden:

voortzetten

Omdat de voorwaarde niet is voldaan, gaat het verder naar het volgende element van de lus.

print(f"* {distro}")

Print de distributies die voldoen aan de voorwaarde dat ze met een hoofdletter beginnen.

Verkrijgbaarheid:

De range-functie wordt in combinatie met de for-lus gebruikt om getallenreeksen genereren.

range(inicio, fin, paso)

Waar:

  • Home: Nummer waar de reeks begint. Standaardwaarde is 0.
  • end: Het is het getal waar de reeks eindigt zonder deze waarde erin op te nemen.
  • Hij is geslaagd:  Het is het interval tussen elk getal in de reeks. Standaard is dit 1.

Stel dat we de volgende instructie hebben:

for i in range(4):

Omdat het standaard begint bij 0 en het bereik 1 gebruikt, luidt de instructie als volgt:

print(i)

Het zal de getallen van 0 tot en met 3 afdrukken.

Als we de lus daarentegen als volgt definiëren:

for i in range(4, 10):

print(i)

Het zal alle getallen van 4 tot en met 9 weergeven.

Tijdens de lus:

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

Door het volgende te doen:

print(i)

Het zal laten zien

3

6

9

12

15

18

We kunnen de reeks getallen ook in aflopende volgorde genereren:

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

Je kunt `range` gebruiken om de elementen van een lijst op te sommen. Dat zou er ongeveer zo uitzien:

Het bereik gebruiken om items in een lijst op te sommen

Range kan worden gebruikt om de elementen van een lijst op te sommen, hoewel Python 3 daarvoor een eigen commando heeft.

Laten we het programma eens nader bekijken.

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

Maak een lijst van drie verdelingen.

len(distros)

Bepaal het aantal items in de lijst.

range(len(distros))

Het stelt het aantal items in de lijst in als de bovengrens voor het bereik.

for i in range(len(distros)):

Ga elk item op de lijst één voor één af.

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

Drukt de index en het lijstitem af.

Dit kan echter gemakkelijker worden gedaan met:

for i, distro in enumerate(distros)

In het volgende artikel gaan we verder met de functies van Python.