Курс по програмиране на Python с Linux. Част дванадесета.

Програмиране на Python с помощта на Linux

Както казахме в предишната публикация на това curso Програмиране на Python с помощта на Linux, Когато ни е необходимо една програма да работи непрекъснато, можем да използваме цикли. Те повтарят изпълнението на код, докато са изпълнени едно или повече условия.

Бяхме оставили предишната статия, обясняваща полезността на инструкциите почивка y продължи.

Курс по програмиране на Python с Linux

Използване на инструкциите break и continue в рамките на цикъл

Използвайки инструкциите break и continue в рамките на while цикъл, можем да спрем изпълнението на кода вътре в цикъла, частично или напълно.

Нека разгледаме подробно какво прави този код:

intentos = 0

Създайте променливата „attempts“, за да следите колко валидни влизания е направил потребителят. Задайте стойността ѝ на 0.

while intentos = 5

В него се посочва, че цикълът трябва да се изпълни 5 пъти, освен ако не срещне инструкцията break.

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

Той подканва потребителя да въведе името на дистрибуция и го присвоява на променливата `distro`. За да се избегне объркване на потребителя, показва това, което броячът би показал като опит 0, като опит 1.

if distro == ""

Проверете дали потребителят е натиснал Enter, без да е въвел нищо.

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 работи с последователност, която може да бъде списък, текстов низ или числов диапазон.
 и го обхожда изцяло, изпълнявайки един и същ блок код за всеки от елементите в последователността.

Това е пример:

Използване на цикъла for в Python 3

Този пример показва съобщението, зададено за всеки от елементите в списъка.

Почивка

Инструкцията почивка спира изпълнението на цикъла, преди да се достигне краят на последователността.

Операторът break в цикъл for

В този случай инструкцията break спира блока 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 я срещне, той преминава към следващия елемент в списъка, игнорирайки останалия код. Това е полезно, когато текущият елемент не отговаря на условие, но все пак искаме цикълът да продължи да се изпълнява.

Ето един пример:

Използване на инструкцията continue в цикъл for.

Инструкцията continue, във for цикъл, точно както във while цикъл, спира изпълнението на текущия код и преминава към следващия елемент в списъка.

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` за изброяване на елементите на списък. Това би изглеждало по следния начин:

Използване на диапазон за изброяване на елементи в списък

Range може да се използва за изброяване на елементите на списък, въпреки че Python 3 има своя собствена команда за това.

Нека разгледаме програмата подробно

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