Книга «Изучаем Python»



Pdf көрінісі
бет39/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   35   36   37   38   39   40   41   42   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 4 • Работа со списками
пользуется — одиночное и множественное, вы сможете понять, работает ли данная 
часть кода с отдельным элементом из списка или со всем списком.
Более сложные действия в циклах for
В цикле 
for
с каждым элементом списка может выполняться практически любое 
действие. Дополним предыдущий пример, чтобы программа выводила для каждого 
фокусника отдельное сообщение:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
 
print(magician.title() + ", that was a great trick!")
Единственное отличие этого кода от предыдущего заключается в том, что в точке 

для каждого фокусника строится сообщение с его именем. При первом проходе 
цикла переменная 
magician
содержит значение 
'alice'
, поэтому Python начинает 
первое сообщение с имени 
'Alice'
. При втором проходе сообщение будет начи-
наться с имени 
'David'
, а при третьем — с имени 
'Carolina'
:
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!")
 
print("I can't wait to see your next trick, " + magician. 
title() + ".\n")
Так как обе команды 
print
снабжены отступами, каждая строка будет выполнена 
по одному разу для каждого фокусника в списке. Символ новой строки (
"\n"

во второй команде print 

вставляет пустую строку после каждого прохода цик-
ла. В результате будет создан набор сообщений, аккуратно сгруппированных для 
каждого фокусника в списке:
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.


Перебор всего списка
65
Тело цикла 
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")
 
print("Thank you, everyone. That was a great magic show!")
Первые две команды 
print
повторяются по одному разу для каждого фокусника 
в списке, как было показано ранее. Но поскольку строка 

отступа не имеет, это 
сообщение выводится только один раз:
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. 
Thank you, everyone. That was a great magic show!
При обработке данных в циклах 
for
завершающее сообщение позволяет подвести 
итог операции, выполненной со всем набором данных. Например, цикл 
for
может 
инициализировать игру, перебирая список персонажей и изображая каждого пер-
сонажа на экране. После цикла выполняется блок без отступа, который выводит 
кнопку 
Начать игру
после того, как все персонажи появятся на экране.
Предотвращение ошибок с отступами
В Python связь одной строки кода с предшествующей строкой обозначается от-
ступами. В приведенных примерах строки, выводившие сообщения для отдельных 
фокусников, были частью цикла, потому что они были снабжены отступами. При-
менение отступов в Python сильно упрощает чтение кода. Фактически отступы 
заставляют разработчика писать аккуратно отформатированный код с четкой 
визуальной структурой. В более длинных программах Python могут встречаться 


66

Достарыңызбен бөлісу:
1   ...   35   36   37   38   39   40   41   42   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет