Ветвления. Подробнее о ветвлениях. Применение else и elif

Представьте коробку с шарами и робота. Робот знает, что шар 1 - красный, шар 2 - зеленый, шар 3 - желтый, шар 4 - синий. Если робот возьмет шар 1, то он определит, что этот шар красный, если робот возьмет шар 2, то он определит, что этот шар - зеленый и т.д. Давайте реализуем программу, которая будет брать шар, который мы зададим , а потом определять его цвет. Напишем программу для этого:

sphere = int(input('Введите номер шара: ')) # Считываем sphere

# Сравнения
if sphere == 1:
    print('red')
    
if sphere == 2:
    print('green')
    
if sphere == 3:
    print('yellow')
    
if sphere == 4:
    print('blue')

С помощью # в Python обозначаются комментарии - обычно описание работы кода.

Программа отлично работает, но что, если мы введем в командную строку число 5? Или же числа, которые не являются 1, 2,3 или 4? Для этого в Python существует else. Код выполняет все, что содержится в else, если условия выше не совпадают. К примеру:

number = int(input())

if number == 1:
    print('You are lucky!') 
    
else: # Если условия выше не выполнены, то:
    print(':/')

Но исходя из логики можно заметить, что на один if приходится один else. В коде с шарами и в коде с калькулятором сложения мы использовали ветвления неправильно, т.к. у нас по факту было одно ветвление, а исходя из логики мы использовали много ветвлений. Поэтому в Python есть elif.

sphere = int(input('Введите номер шара: ')) # Считываем sphere

# Сравнения
if sphere == 1:
    print('red')
    
elif sphere == 2:
    print('green')
    
elif sphere == 3:
    print('yellow')
    
elif sphere == 4:
    print('blue')
    
else:
    print('Такого шара нет в моей системе')

elif sphere == 1в Python обозначает "else if", то есть "если верхнее условие не выполнилось, то если sphere == 1, то это условие выполнится и т.д. Но если же в конце ни одно из условий не выполнилось, то код попадает в else.

Last updated