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
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:
Rozbiť
Pokyn rozbiť zastaví vykonávanie slučky pred dosiahnutím konca sekvencie.
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:
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:
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