Условный оператор
Условный оператор используется, когда некая часть программы должна быть выполнена, только если верно какое-либо условие. Для записи условного оператора используются ключевые слова if и else («если», «иначе»), двоеточие и отступ в четыре пробела.
Отступ в четыре пробела принят в сообществе Python (PEP 8). При этом программа может работать и при других вариантах, но читать её будет неудобно. Пробелы — самый предпочтительный метод отступов. Табуляция должна использоваться только для поддержки кода, написанного с отступами с помощью табуляции. Python 3 запрещает смешивание табуляции и пробелов в отступах.
Сравнение ≠ Присваивание
В начале условного оператора if выполняется сравнение, а не присваивание. Для сравнения нужно использовать двойной знак равенства: ==. После else никогда не пишется никакого условия.
В качестве условия можно использовать операции отношения:
<меньше>больше<=меньше или равно>=больше или равно==равно!=не равно
Все операции отношения оформляются с помощью симметричных пробелов.
Сложное условие. Логические операции
Иногда в условном операторе нужно задать сложное условие. Для этого можно использовать логические операции and («и»), or («или») и not («не»). Чтобы задать одновременное выполнение двух условий, используем and («и»), если достаточно выполнения одного из двух вариантов (или обоих сразу) — используем or («или»), а если нужно убрать какой-то вариант — not («не»).
Приоритет выполнения операций:
notandor
Если нужно изменить приоритет операций или вы забыли правила, используйте скобки.
По стандарту PEP 8 длина строки должна быть ограничена максимум 79 символами. Длинные строки можно переносить с помощью символа \ (бэкслеш) или заключая выражение в скобки.
Вложенные условия
В команде if при выполнении условия можно выполнять более одной команды. Для этого все их необходимо выделить отступом. Такая запись называется блоком кода. По отступам интерпретатор определяет, при выполнении каких условий какие команды исполнять.
Перед последней строчкой нет отступа — она будет выполнена в конце работы программы в любом случае. Блоки кода в Python очень гибко устроены: внутри них можно писать любой другой код, в том числе условные операторы.
elif — это короткая запись для «else: if». Если не пользоваться короткой записью, if пришлось бы писать на отдельной строчке и с отступом. Это не очень удобно, и elif избавляет от такой необходимости.
Операции над строками
Кроме уже описанных действий, строки ещё можно складывать.
По рекомендации PEP 8: ставьте пробелы вокруг знаков операций (*, +, - и т.д.):
- Правильно:
z = x + y - Неправильно:
z = x+y
Конкатенация
Операция сложения для строк выполняет конкатенацию — склеивает содержимое строк. Например: 'При' + 'вет' даст строку 'Привет'.
Дублирование
Для строк также можно выполнять умножение — дублирование. Строка будет повторена заданное количество раз.
Например: 3 * '20' — то же, что и '20' * 3, результат — '202020'.
Команда in
Команда in позволяет проверить, что одна строка находится внутри другой. Например: строка 'на' находится внутри строки 'сложная задача'. В таком случае обычно говорят, что одна строка является подстрокой для другой.
Задачи
Задача 1
Напишите программу, которая считывает слово и выводит фразу по шаблону:
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Задача 2
Напишите программу, которая считывает слово и проверяет, равно ли оно Python. Выведите ДА или НЕТ.
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Задача 3
Напишите программу, которая считывает слово и выводит его четыре раза подряд без пробелов.
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Задача 4
Напишите программу, которая считывает строку и выводит МЯУ, если она содержит слово кот, иначе — ГАВ.
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Задача 5
Напишите программу, которая считывает три строки и выводит ГОРИ, если это раз, два, три (по одному на строке). Иначе — НЕ ГОРИ.
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Задача 6
Улучшите задачу 5: программа должна выводить ГОРИ также при вводе 1, 2, 3.
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Тест 3:
Ввод:
Вывод:Задача 7
Напишите программу-тест с двумя вопросами. Программа задаёт вопросы и считывает ответы да или нет. В зависимости от комбинации ответов выводит один из четырёх уникальных результатов.
Придумайте вопросы и результаты самостоятельно.
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Задача 8
Напишите программу, которая считывает оценку (5, 4, 3 или другое) и выводит соответствующий комментарий:
5→Отлично!4→Хорошо.3→Удовлетворительно.- всё остальное →
Неудовлетворительно.
Тест 1:
Ввод:
Вывод:Тест 2:
Ввод:
Вывод:Задача 9
Напишите программу, которая считывает логин и email. Выведите OK, если email содержит @, а логин — нет. Иначе выведите ОШИБКА.
Тест 1:
Ввод:
jackson
[email protected]
Тест 2:
Ввод:
jack@son
[email protected]
Задача 10
Напишите текстовый квест с минимум тремя шагами. На каждом шаге программа задаёт вопрос и считывает ответ. В зависимости от выборов игрока история заканчивается по-разному — придумайте не менее трёх уникальных концовок.