Команда if и функция input в Python
В Python существует три команды выбора, которые исполняют код в зависимости от установленных условий, значений которых может быть истинным (True) либо ложным (False).
- Команда if выполняет действие, если условие истинно (True), и не делает ничего если ложно (False)
- Команда if-else выполняет действие, если условие истинно (True), или выполняет другое действие, если условие ложно (False)
- Команда if-elif-else выполняет одно из нескольких возможных действий в зависимости от истинности или ложности нескольких условий.
Содержание страницы: |
---|
1.1. Проверка условий |
1.2. Проверка нескольких условий |
2. Функция input() |
3.1. Команда if |
3.2. Команда if-else |
3.3. Команда if-elif-else |
4. Команда if со списками |
1. Проверка условий в Python.
-
Проверка равенств.
Регулярно в программах переменные сравниваются с другими переменными или значениями. Самое простое условия, это проверить равно ли значение переменной конкретному значению.
>>> car = 'audi'
>>> car == 'audi'
True
Присвоим переменной car значение 'audi'. Во второй строке проверим равно ли значение переменной car. Двойной знак равно (==) используется для проверки равенства. В итоге Python возвращает значение True, означающий что значения равны. В случае неравенства значений, возвращается False.
>>> car = 'audi'
>>> car == 'bmw'
False
В Python проверка равенства выполняется с учетом регистра. В случае написания значений с разным регистром, значения получаются не равными.
>>> car = 'audi'
>>> car == 'Audi'
False
-
Проверка неравенства.
Проверка неравенства происходит с помощью восклицательного знака и знака равно ( != ). Восклицательный знак представляет отрицание, как и во многих языках программирования.
>>> car = 'audi'
>>> car != 'bmw'
True
1.2. Проверка нескольких условий.
-
Использование and для проверки нескольких условий.
Для проверки нескольких условий одновременно, используйте ключевое слово and. Чтобы выражение было истинно (True) оба условия должны быть истинны. В примере проверим возраст людей, чтобы был младше или в возрасте 30 лет.
>>> age_1 = 29
>>> age_2 = 20
>>> age_1 <= 30 and age_2 <= 30
True
Если оба условия выполнены, то возвращается True.
-
Использование or для проверки нескольких условий.
При использовании ключевого слова or, проверка будет истинна если выполнено хотя бы одно условие в выражение. Проверим теперь чтобы хотя бы один из людей был младше 25 лет.
>>> age_1 = 29
>>> age_2 = 20
>>> age_1 < 25 or age_2 < 25
True
2. Функция input().
- Функция input() запрашивает данные у пользователя и получает их. Получив данные, сохраняет их в переменной и в последующем вы можете работать с этой переменной.
>>> name = input('Как вас зовут? ')
Как вас зовут? Ян # вводит пользователь
>>> print(name)
Ян
- Функция input() всегда возвращает строку. Если мы захотим сложить два числа, то получим не верный ответ. Пример:
>>> a = input('Введите число: ')
Введите число: 5
>>> b = input('Введите число: ')
Введите число: 10
>>> a + b
'510'
Вместо того чтобы сложить 5 и 10 и в итоге получить 15, Python складывает строковое значения '5' и '10', и в итоге получает строку '510'. Это операция называется конкатенация строк. В результате создается новая строка из левого операнда, за которым следует правый.
- Если вам требуется получить целое число, то преобразуйте строку в число с помощью функции int():
>>> a = int( input('Введите число: '))
Введите число: 5
>>> b = int( input('Введите число: '))
Введите число: 10
>>> a + b
15
>>> a = float(input('Введите число: '))
Введите число: 12.5
>>> b = float(input('Введите число: '))
Введите число: 7.3
>>> a + b
19.8
3.1. Команда if.
Самая простая команда if состоит из одного условия и одного действия.
if условие:
дествие # отступ в 4 пробела
Приведем пример программы, которая определяет платный ли вход в кинотеатр:
>>> age = 25
>>> if age >= 18:
... print('Вход в кинотеатр для вас платный')
... print('Приобретите билет в кассе')
...
Вход в кинотеатр для вас платный
Приобретите билет в кассе
В первой строке команды if мы размещаем условия, а во второй строке кода с отступом - практически любое действие. В случае выполнения условия выполняется действие, если условие не выполнено, ничего не происходит.
:
3.2. Команда if-else.
В случае если необходимо выполнить другое действие если условие ложно, можно воспользоваться командой if-else. Блок if записывается так же, как и раньше, а после него записывается блок else с набором действий в случае невыполнения команды if.
>>> age = 17
>>> if age >= 18:
... print('Вход в кинотеатр для вас платный')
... print('Приобретите билет в кассе')
... else:
... print('Для вас вход бесплатный')
...
Для вас вход бесплатный
Блок else записывается на уровне блока If, без 4 пробелов.
3.3. Команда if-elif-else.
Команда if-elif-else позволяет проверить сразу несколько условий. Предположим, стоимость билетов кинотеатр изменяется в зависимости от возврата посетителя.
>>> age = 35
>>> if age <= 7:
... print('Для вас вход бесплатный')
... elif age < 18:
... print('Стоимость билета 500 руб')
... elif age <= 60:
... print('Стоимость билета 1000 руб')
... else:
... print('Для вас вход бесплатный')
...
Стоимость билета 1000 руб
Код выполняется последовательно, программа вначале проверяет соответствие возраста меньше или равно 7 лет, затем < 18 и т.д. Как только условия выполняются, Python выводит результат и действие программы прекращается. Важно ставить правильную последовательность условий. К примеру, если мы поставим условие младше или равно 60 в начало, то возраст меньше 7 и 18 не будет работать и программа сразу выдаст результат максимальной стоимости билета.
Наличие секции else в команде if-elif-else необязательно. Ее присутствие позволяет обработать результат, не удовлетворяющий никаким условиям.
4. Команда if со списками.
С помощью команды if, например при переборе списка, возможно использовать каждый элемент на свое усмотрение.
>>> cars = [ 'ford', 'opel', 'audi', 'land rover', 'bmw' ]
>>> for brand in cars:
... if brand == 'audi':
... print(f"Гарантия на автомобиль {brand.title()} 2 года")
... elif brand == 'bmw':
... print(f"Гарантия на автомобиль {brand.title()} 3 года")
... else:
... print(f"Гарантия на автомобиль {brand.title()} 5 лет")
...
Гарантия на автомобиль Ford 5 лет
Гарантия на автомобиль Opel 5 лет
Гарантия на автомобиль Audi 2 года
Гарантия на автомобиль Land Rover 5 лет
Гарантия на автомобиль Bmw 3 года
В данном примере с помощью команды for мы перебираем весь список автомобилей. Если марка автомобиля соответствует условия if-elif, то выводится для этих марок свое сообщение по условиям гарантии. В случае не совпадения условий, выдается общее сообщение для всех остальных марок.
Назад: Цикл for и функция range в Python