Или как научить программу принимать решения.
Когда в ходе выполнения программы возникает необходимость выполнить тот или иной код, на помощь приходят операторы условия if elif else. Так же можно услышать, что их называют операторами ветвления!
Давайте создадим новый репл с черепахой и запрограммируем её так, чтобы она выполняла команды, которые мы вводим. Для начала, запрограммируем управление, клавиши W A S D, на клавиатуре.
Напишем код который будет просто двигать черепашку вперёд.
Сейчас при каждом запуске, черепаха будет перемещаться на 100 пикселей вперёд. Добавим оператор условия, чтобы черепаха перемещалась вперёд, только если пользователь введёт букву «w».
Сначала запрашиваем у пользователя команду и ждём, когда он нажмёт enter. Результат функции input() сохраняем в переменную command. А далее, сравниваем эту переменную с буквой w и, только в случае, когда пользователь ввёл w, мы перемещаем черепаху.
Теперь добавим обработку команд s, a, d. Условие сравнения пишем после ключевого слова elif.
Минус нашей программы сейчас в том, что черепашка способна выполнить только одно действие. Нам приходится каждый раз заново запускать программу, чтобы ввести новую команду. Тебе нужно заключить код с 4 по 14 строки внутрь цикла. Выделите эти строки и нажмите клавишу Tab. Объявите бесконечный цикл while.
Можете начать вводить команды и наша черепашка будет послушно следовать туда, куда мы ей скажем. Не забывайте нажимать клавишу Enter.
Мне кажется, самое время изменить форму нашего курсора. До входа в цикл, наберите t.shape('turtle')
. Наш курсор превратится в черепашку.
Давайте добавим ещё несколько команд нашей черепашке. Например color будет менять цвет. step — изменять расстояние на которое перемещается черепаха на один ход. И exit — для завершения программы.
Для этого добавим ещё несколько блоков elif в уже существующую конструкцию if/else. Поставьте курсор в начале строки else, нажмете enter, и в освободившейся строке выше добавьте недостающий код.
На этом можно закончить. Для расширения функционала можно дописать ещё несколько команд для черепашки, например, чтобы она рисовала квадрат по команде square. Или добавить команду help, которая выводит на экран все возможные команды, которые пользователь может ввести. Это будет весьма полезная команда, которая облегчит использование вашего продукта.
Код представленный в статье, ниже.