Изучаем Python | страница 43



Alice, that was a great trick!

David, that was a great trick!

Carolina, that was a great trick!

Тело цикла for может содержать сколько угодно строк кода. Каждая строка с начальным отступом после строки for magician in magicians считается находящейся в цикле и выполняется по одному разу для каждого значения в списке. Таким образом, с каждым значением в списке можно выполнить любые операции на ваше усмотрение.

Включим в сообщение для каждого фокусника вторую строку:

magicians = ['alice', 'david', 'carolina']

for magician in magicians:

. .print(magician.title() + ", that was a great trick!")

(1) . .print("I can't wait to see your next trick, " + magician. title() + ".\n")

Так как обе команды print снабжены отступами, каждая строка будет выполнена по одному разу для каждого фокусника в списке. Символ новой строки ("\n") во второй команде print (1) вставляет пустую строку после каждого прохода цикла. В результате будет создан набор сообщений, аккуратно сгруппированных для каждого фокусника в списке:

Alice, that was a great trick!

I can't wait to see your next trick, Alice.


David, that was a great trick!

I can't wait to see your next trick, David.


Carolina, that was a great trick!

I can't wait to see your next trick, Carolina.

Тело цикла for может содержать сколько угодно строк кода. На практике часто требуется выполнить в цикле for несколько разных операций для каждого элемента списка.

Выполнение действий после цикла for


Что происходит после завершения цикла for? Обычно программа выводит сводную информацию или переходит к другим операциям.

Каждая строка кода после цикла for, не имеющая отступа, выполняется без повторения. Допустим, вы хотите вывести сообщение для всей группы фокусников и поблагодарить их за превосходное представление. Чтобы вывести общее сообщение после всех отдельных сообщений, разместите его после цикла for без отступа:

magicians = ['alice', 'david', 'carolina']

for magician in magicians:

. .print(magician.title() + ", that was a great trick!")

. .print("I can't wait to see your next trick, " + magician.title() + ".\n")

. .

(1) print("Thank you, everyone. That was a great magic show!")

Первые две команды print повторяются по одному разу для каждого фокусника в списке, как было показано ранее. Но поскольку строка (1) отступа не имеет, это сообщение выводится только один раз:

Alice, that was a great trick!

I can't wait to see your next trick, Alice.


David, that was a great trick!