Coding for KidsCoding for Kids
Творческие УровниИспытанияРуководство для Учителей
Голосовать за функции
Продвинутый курс разработки на Python
Глава
>
Уровень

Обработка исключений
Обработка исключений

Цель

Упакуйте припасы в коробки и перехватите возможные ошибки с помощью Exceptions.

Существует несколько аварийных запасов, которые нужно упаковать в комплекты и хранить в ящиках для последующего использования. Это довольно просто и может быть выполнено с использованием общих функций, которые вы уже изучили, однако иногда все идет не по плану. При программировании вы могли заметить, что иногда на экране появляются ошибки, а в редакторе красными метками отмечается место проблемы. Вы можете предотвратить это, установив блоки кода try и except.

Эти блоки кода используются для обработки исключений и перехвата ошибок до того, как они остановят выполнение вашего кода. Суть в том, что вы используете try для проблемного участка кода или кода, склонного к ошибке, и используете except для замены кода на другой в случае возникновения ошибки, например:

#The try code block attempts to run a code try: number + number + string #This code yeilds an error, you can't sum numbers with string except: #If an error occurs the except code block is run instead number + number + number #The code is switched out by a sum of three numbers instead

Чтобы начать, соберите все материалы на поле, а именно: водяные баллоны, "thread" и три цветных одеяла: "blue blanket", "red blanket", "green blanket". Начните с того, что подойдите к верхней части карты и заберите три одеяла, затем направляйтесь к светлой метке X и используйте функцию collect(), чтобы получить "thread" из контейнера. После этого переместитесь к нижней части карты и заберите все водяные баллоны.

Как только все материалы будут собраны, направляйтесь к темной метке X на синем ковре, чтобы начать размещать только что собранные предметы. Сначала добавьте воду и нитку в переменные с значениями 2 и 3 соответственно, например: water_can = 2 и thread = 3. Затем создайте комплекты, объявив переменные, суммируя ранее созданные переменные с цветными одеялами в следующем формате:

blue_kit = water_can + thread + "blue blanket" red_kit = water_can + thread + "red blanket" green_kit = water_can + thread + "green blanket" # Add all elements together into kits for ease of storage

После того как комплекты собраны в переменных blue_kit, red_kit и green_kit, пора разместить их в ящиках соответствующего цвета, однако вы могли заметить, что код выдает ошибку. Но почему? Все сделано согласно инструкции. Иногда, несмотря на интуитивное понимание, что все должно работать, код может работать не так, как ожидалось, в данном случае вы не можете сложить число со строкой.

Итак, как же мы решим эту проблему? Используя блоки кода try / except для перехвата ошибки и замены ее на подходящую альтернативу. Для каждой из трех переменных примените эти исключения, которые в случае ошибки заменят код числовым значением вместо конкретной строки.

try: blue_kit = water_can + thread + "blue blanket" except: blue_kit = water_can + thread + 1

Хотя в данном случае ошибка известна, бывают ситуации, когда значения внутри переменных могут быть не такими однозначными или меняться в зависимости от определенных условий, что делает этот инструмент полезным для отладки и обработки ошибок выполнения.

Завершите уровень, подойдя к темным меткам X на цветных коврах, повернувшись лицом к ящикам и используя функцию place(), чтобы разместить переменные комплектов соответствующего цвета в правильных ящиках.

Книга Кода