Kurz programovania v Pythone s použitím Linuxu. Dvanásta časť.

Programovanie v Pythone s využitím Linuxu

Ako sme už uviedli v predchádzajúcom príspevku k tejto téme kurz Programovanie v Pythone s využitím Linuxu, Keď potrebujeme, aby program bežal nepretržite, môžeme použiť cykly. Tie opakujú vykonávanie kódu, pokiaľ je splnená jedna alebo viacero podmienok.

Predchádzajúci článok sme nechali vysvetlený užitočnosťou pokynov. rozbiť y pokračuje.

Kurz programovania v Pythone s využitím Linuxu

Použitie inštrukcií break a continue v rámci slučky

Pomocou inštrukcií break a continue v rámci slučky while môžeme čiastočne alebo úplne zastaviť vykonávanie kódu vo vnútri slučky.

Pozrime sa podrobne na to, čo tento kód robí:

intentos = 0

Vytvorte premennú „attempts“ na sledovanie počtu platných prihlásení používateľa. Nastavte jej hodnotu na 0.

while intentos = 5

Uvádza, že slučka sa musí vykonať 5-krát, pokiaľ nenarazí na inštrukciu break.

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

Vyzve používateľa na zadanie názvu distribúcie a priradí ho premennej `distro`. Aby sa predišlo zmätku používateľa, zobrazí to, čo by počítadlo ukázalo ako pokus 0, ako pokus 1.

if distro == ""

Skontrolujte, či používateľ stlačil kláves Enter bez toho, aby niečo zadal.

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

Upozorní používateľa, že ešte nič nenapísal.

continue

Reštartujte slučku bez pridania akýchkoľvek pokusov.

intentos += 1

Ak používateľ niečo napísal, do počítadla sa pripočíta jeden pokus.

if distro == "Ubuntu"

Skontrolujte, či používateľ zadal „Ubuntu“

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

Uveďte, či je odpoveď správna a koľko pokusov bolo potrebných.

break

Keďže používateľ mal pravdu, slučka sa zastaví.

else:

Keďže podmienka menej ako 5 pokusov už nie je splnená, uplatňuje sa alternatíva.

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

Zobrazí sa správa, že počet pokusov sa vyčerpal a že distribúcia bola Ubuntu.

Slučka for

Slučka while je užitočná, keď chceme, aby sa program opakoval, kým nie je splnená určitá podmienka. Ak chceme spustiť slučku, napríklad zobrazením všetkých prvkov zoznamu, a tento zoznam má variabilný počet prvkov, bude táto inštrukcia užitočnejšia. pre.

Syntax je nasledovná:

for variable in secuencia

Slučka for pracuje so sekvenciou, ktorá môže byť zoznamom, textovým reťazcom alebo číselným rozsahom.
 a prechádza ňou v celom rozsahu, pričom pre každý z prvkov v sekvencii vykoná rovnaký blok kódu.

Toto je príklad:

Používanie cyklu for v Pythone 3

Tento príklad zobrazuje správu nastavenú pre každú položku v zozname.

Rozbiť

Pokyn rozbiť zastaví vykonávanie slučky pred dosiahnutím konca sekvencie.

Príkaz break v slučke for

V tomto prípade inštrukcia break zastaví blok for, keď sa nájde požadovaný výsledok.


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

Vytvorte zoznam distribúcií

distro_a_buscar = "Debian"

Uvádza sa v ňom, že sa bude hľadať distribúcia Debianu.

for distro in distribuciones

Postupne priraďuje každý prvok zoznamu premennej distro.

print("Buscando...")

Zobrazí vyhľadávaciu správu na začiatku každého pokusu.

if distro == distro_a_buscar

Skontrolujte, či ste našli distribúciu, ktorú ste hľadali.

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

Zobrazí správu, že hľadaná distribúcia bola nájdená a vypíše jej názov.

break

Zastavte slučku.

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

Zobrazí správu o dokončení vyhľadávania, čo by sa stalo aj v prípade, že by sa hľadaná distribúcia nenašla.

pokračovať

Inštrukcia `continue` funguje podobne ako slučka `while`. Keď na ňu Python narazí, preskočí na ďalší prvok v zozname a ignoruje zostávajúci kód. Toto je užitočné, keď aktuálny prvok nespĺňa podmienku, ale stále chceme, aby slučka pokračovala vo vykonávaní.

Tu je príklad:

Použitie inštrukcie continue v slučke for.

Inštrukcia continue v slučke for, rovnako ako v slučke while, zastaví vykonávanie aktuálneho kódu a presunie sa na ďalší prvok v zozname.

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

Vytvorte zoznam 5 distribúcií Linuxu. Malé písmeno „arch linux“ je zámerné.

for distro in distros

Iterujte cez každý prvok zoznamu a postupne ho priraďte premennej distro.

if distro[0].islower():

Skontrolujte, či je prvé písmeno rozdelenia veľké.

print(f»'{distro}' nezačína veľkým písmenom,»)

Upozorní používateľa, že distribúcia nespĺňa podmienku začínania veľkými písmenami a že bude pokračovať s ďalšou:

pokračovať

Keďže podmienka nie je splnená, cyklus sa presunie na ďalší prvok.

print(f"* {distro}")

Vypíšte rozdelenia, ktoré spĺňajú podmienku začínania veľkým písmenom.

Rozsah

Funkcia range sa používa v spojení so slučkou for na generovať číselné postupnosti.

range(inicio, fin, paso)

Kde:

  • Home: Číslo, kde postupnosť začína. Predvolená hodnota je 0.
  • koniec: Je to číslo, kde postupnosť končí bez zahrnutia tejto hodnoty.
  • Prešiel:  Je to interval medzi jednotlivými číslami v postupnosti. Predvolene je to 1.

Predpokladajme, že máme túto inštrukciu:

for i in range(4):

Keďže štandardne začína od 0 a používa rozsah 1, inštrukcia:

print(i)

Vypíše čísla od 0 do 3.

Ak definujeme slučku:

for i in range(4, 10):

print(i)

Zobrazí všetky čísla od 4 do 9

Zatiaľ čo slučka:

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

Tým, že:

print(i)

Ukáže sa to

3

6

9

12

15

18

Môžeme tiež vygenerovať postupnosť čísel v zostupnom poradí:

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

Na vymenovanie prvkov zoznamu je možné použiť funkciu `range`. Vyzeralo by to asi takto:

Použitie rozsahu na vymenovanie položiek v zozname

Funkciu Range možno použiť na vymenovanie prvkov zoznamu, hoci Python 3 má na to vlastný príkaz.

Pozrime sa na program podrobnejšie

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

Vytvorte zoznam troch distribúcií.

len(distros)

Určte počet položiek v zozname.

range(len(distros))

Nastavuje počet položiek v zozname ako hornú hranicu rozsahu.

for i in range(len(distros)):

Začnite prechádzať každou položkou na zozname.

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

Vypíše index a položku zoznamu.

Dá sa to však urobiť jednoduchšie pomocou:

for i, distro in enumerate(distros)

V ďalšom článku budeme pokračovať s funkciami Pythonu