М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет50/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   46   47   48   49   50   51   52   53   ...   334
Байланысты:
Изучаем Python

hello_world.py
message = "Hello Python world!"

print(message)
Отступ команды 
print
в точке 

не нужен, потому что эта строка не подчинена 
предшествующей; Python сообщает об ошибке:
File "hello_world.py", line 2
print(message)
^
IndentationError: unexpected indent
Чтобы избежать непредвиденных ошибок с отступами, используйте их только там, 
где для этого существуют конкретные причины. В тех программах, которые вы пи-
шете на этой стадии изучения Python, отступы нужны только в строках действий, 
повторяемых для каждого элемента в цикле 
for
.
Лишние отступы после цикла
Если вы случайно снабдите отступом код, который должен выполняться 
после
за-
вершения цикла, то этот код будет выполнен для каждого элемента. Иногда Python 
выводит сообщение об ошибке, но часто дело ограничивается простой логической 
ошибкой.


70
Глава 4 • Работа со списками
Например, что произойдет, если случайно снабдить отступом строку с выводом 
завершающего приветствия для группы фокусников?
magicians.py
magicians = ['alice', 'david', 'carolina'] 
for magician in magicians: 
print(f"{magician.title()}, that was a great trick!")
print(f"I can't wait to see your next trick, {magician.title()}.\n")

print("Thank you everyone, that was a great magic show!")
Так как строка 

имеет отступ, сообщение будет продублировано для каждого 
фокусника в списке:
Alice, that was a great trick! 
I can't wait to see your next trick, Alice.
Thank you everyone, that was a great magic show! 
David, that was a great trick! 
I can't wait to see your next trick, David.
Thank you everyone, that was a great magic show! 
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!
Это еще один пример логической ошибки наподобие описанной в разделе «Про-
пущенные отступы в других строках». Python не знает, что вы пытаетесь сде-
лать в своем коде, поэтому он просто выполняет весь код, не нарушающий 
правил синтаксиса. Если действие, которое должно выполняться один раз, вы-
полняется многократно, проверьте, нет ли лишнего отступа в соответствующей 
строке кода.
Пропущенное двоеточие
Двоеточие в конце команды 
for
сообщает Python, что следующая строка является 
началом цикла.
magicians = ['alice', 'david', 'carolina'] 

for magician in magicians
print(magician)
Если вы случайно забудете поставить двоеточие, как в примере 

, произойдет 
синтаксическая ошибка, так как полученная команда нарушает правила языка. 
И хотя такие ошибки легко исправляются, найти их бывает достаточно трудно. 
Вы не поверите, сколько времени тратят программисты на поиск подобных «одно-
символьных» ошибок. Поиск таких ошибок усложняется еще и тем, что человек 
обычно склонен видеть то, что он ожидает увидеть.


Создание числовых списков


Достарыңызбен бөлісу:
1   ...   46   47   48   49   50   51   52   53   ...   334




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

    Басты бет