Ветвление и условные операторы Python для начинающих

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

В случае, если мы хотим сделать что-то, только если выполняется какое-либо условие, нам придется использовать оператор if.

Проще всего будет показать, как этот оператор работает на примере. Для этого попробуем написать программу «Угадай число». Если вы начинающий программист, обязательно попробуйте именно написать эту программу, чтобы прочувствовать на практике, как это работает. Компьютер выбирает случайное число, игрок пытается угадать, программа сообщает пользователю, верен ли его ответ.

import random
num = random.randint(1,10)
guess = int(input('Введите число от 1 до 10: '))
if guess == num :
    print('Угадали!')

Синтаксис оператора if прост — сначала надо написать ключевое слово if, после него — условие, а в самом конце строки должно быть двоеточие.

Все строки кода, которые должны выполнится при срабатывании условия, должны быть написаны с отступом в четыре пробела относительно ключевого слова if. По отступам Python понимает, что эти строки относятся именно к if, и выполнит их только если условие будет истинным. В нашем примере, вывод строки «Угадали!» будет выполнен только если пользователь введет правильное число.

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

import random
num = random.randint(1,10)
guess = int(input('Введите число от 1 до 10: '))
if guess == num :
    print('Угадали!')
else:
    print('Извините, было загадано число ', num)

Мы добавили оператор else, который отвечает за то, чтобы выполнить какой-либо код в том случае, если не сработает оператор if. Связку этих двух операторов можно прочитать как «если какое-то условие верно, выполнить такой-то код, иначе — выполнить какой-то другой код».

Кроме операторов if и else в одной связке можно использовать оператор elif. Он пригодится, если нужно что-то посложнее реакции на верное или неверное условие. Например, нашу игру «Угадай число» можно дополнить еще двумя условиями проверки выхода введенного числа за допустимые границы:

import random
num = random.randint(1,10)
guess = int(input('Введите число от 1 до 10: '))
if guess == num :
    print('Угадали!')
elif guess > 10:
    print('Число не может быть больше 10')
elif guess < 1:
    print('Число не может быть меньше 10')    
else:
    print('Извините, было загадано число ', num)