Условия и циклы | Вводный курс ML

Условия и циклы

Все курсы > Вводный курс > Занятие 6

Сегодня мы поговорим про условия и циклы в Питоне.

Условия с if

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

В качестве примера, мы установили порог зарплаты заёмщика на уровне 90 тыс. рублей, и на его основе решали, кому выдать кредит, а кому отказать. Напомню, как это выглядело с помощью блок-схемы.

порог зарплаты, условия в Питоне

Теперь пропишем этот сценарий на Питоне.

Откроем ноутбук к этому занятию

Итак, чтобы установить порог зарплаты на уровне 90 тыс. рублей, создадим переменную для зарплаты заемщика (пусть это будет salary) и присвоим ей произвольное значение (напрмер, 75). Далее мы пишем слово if и задаем само условие salary >= 90. Ставим двоеточие.

На следующей строке делаем отступ с помощью клавиши Tab (это обязательно) и пишем print('Выдать кредит'). Далее с новой строки пишем else (что делать в противном случае), двоеточие и строкой ниже опять с отступом print('Отказать').

Детали синтаксиса, а именно двоеточие, отступ и т.п. очень важны. Повторим их для закрепления.

конструкция if-else в Питоне

А теперь еще раз про логику программы. Создаем переменную с уровнем зарплаты, если зарплата больше или равна 90, выводим на экран «Выдать кредит», если меньше, выводим «В кредите отказать».

Исполнив этот код (Shift + Enter), мы получим:

В качестве упражнения, поменяйте зарплату с 75 на 95 тысяч и запустите код. Кредит должны одобрить.

Все, несложная программа по одобрению кредитов готова.

Цикл for

Помимо числовых переменных и строк, мы также познакомились со списками и словарями. Было бы неплохо уметь выводить не только определенный элемент списка или словаря (мы это делали по индексу и ключу соответственно), но и посмотреть элементы один за другим. Как это сделать?

Сначала поработаем со списками. Воспользуемся списком покупок из предыдущего занятия.

Начнем наш цикл с ключевого слова for, после него напишем i in veg_list:. По сути, мы скажем компьютеру: «Пока есть элементы (i) в списке ( veg_list), выполни определенное действие». Само действие пишется на следующей строке с отступом. В нашем случае будем выводить каждый элемент списка один за другим через print(i).

Результат:

Важные пояснения:

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

Теперь попробуем вывести содержимое словаря. Здесь код чуть сложнее.

Для начала все так же воспользуемся словарем из предыдущего занятия.

Теперь попробуем вывести сразу и название продуктов и их количество. Для этого снова напишем for, а затем k, v in shopping_dict.items():. Что мы сделали? Мы ввели две переменные k и v, в которые в цикле будем поочередно записывать ключи (k) и значения (v). Действием в цикле будет опять же вывод этих переменных.

Результат:

Примечания:

  • k и v обычно используются как сокращение от key и value, однако как и в случае с переменной i название переменных может быть любым
  • метод .items() как раз и сообщает компьютеру, что мы хотим записать в переменные k и v ключ и значение словаря shopping_dict

Схема синтаксиса:

цикл for в Питоне со списками и словарями

Вопросы для закрепления

Какие два ключевых слова мы использовали на этом занятии, чтобы задать условие?

Посмотреть правильный ответ

Какое ключевое слово используется для просмотра всех элементов списка или словаря?

Посмотреть правильный ответ

Теперь попробуйте сделать упражнения

Подведем итог

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

На этом предварительное знакомство с Питоном пока можно завершить, и на следующем занятии мы познакомимся с тем, как можно использовать Питон для анализа данных и построения графиков.