09.20 Логические выражения, условные операторы и цикл
- Питоновская алгебра логики; пустые и непустые объекты
определяем, что пустое, а что нет
- напишите программу, которая вводит объект при помощи eval(input); если объект пуст, выводит "EMPTY", иначе "NOT EMPTY"
- проверьте программу на пустом и непустом: кортеже, строке, числе ("пустое число" это 0); а также на None
логическое выражение с частичным вычислением
- напишите логическое выражение над переменными a, b, которое возвращает результат деления a на b, если b!=0; иначе возвращает a. Используйте только операторы and, or, /
- Условный оператор
Неравенство треугольника
- напишите программу, которая вводит три числа и проверяет, являются ли они корректными длинами сторон треугольника:
- положительные
- выполняются три неравенства треугольника
- напишите программу, которая вводит три числа и проверяет, являются ли они корректными длинами сторон треугольника:
Задача_1 (на if-ы)
- Ещё раз про git и именование заданий
TODO ssh-ключи (нужна поддержка от прошивки)
Использование print() с параметрами sep=
Цикл while
удобство «:=»
цикл по вводу из лекций. Напишите программу, которая вводит числа и выводит только чётные, но ввод оканчивается пустой строкой
else к while
модифицируйте предыдущую программу так, чтобы на числе 13 она немедленно прекращала работу, а если такого числа не встретилось, в конце поздравляла пользователя
Задача_2 (на while-else)
Задача_3 (на вложенные циклы while)
Задачи
Задача_1 (в решении должен быть хотя бы один оператор if)
- заданы три класса чисел:
- A: четные, делящиеся на 25
- B: нечетные, делящиеся на 25
- C: делящиеся на 8
- напишите программу, которая:
- вводит целое число
- выводит информацию о его принадлежности к классам A, B, C
- формат вывода: "A - B + C +" (через пробел)
- Ввод
125
- Вывод
A - B + C -
- Ввод
- заданы три класса чисел:
Задача_2 (в решении должен использоваться цикл while с клаузой else)
- напишите программу, которая:
- в цикле вводит целые числа
- суммирует введённые положительные числа
- если введен 0 или отрицательное число, выводит последнее введенное число и завершает работу
- если сумма превысила 21, выводит сумму и завершает работу
- ввод
4 5 -100
- вывод
-100
- ввод
15 16
- вывод
31
- напишите программу, которая:
Задача_3 (в решении должны использоваться вложенные циклы while)
- напишите программу, которая:
- вводит целое положительное число N
- выводит таблицу умножения целых чисел от N до N+2 в виде таблицы 3x3
n * n = ... n * (n+1) = ... n * (n+2) = ... (n+1) * n = ... (n+1) * (n+1) = ... (n+1) * (n+2)= ... (n+2) * n = ... (n+2) * (n+1) = ... (n+2) * (n+2)= ...
- форматировать столбцы, чтобы они были "ровными" (т.е. выравнивать длину примеров), не нужно
при этом если сумма цифр произведения равна 6, то вместо результата печатать смайлик :=)
последовательности python (в частности, строки для подсчета суммы цифр), конструкцию range() и форматные строки при написании программы использовать нельзя
- ввод
4
- вывод
4 * 4 = 16 4 * 5 = 20 4 * 6 = :=) 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 6 * 4 = :=) 6 * 5 = 30 6 * 6 = 36
- напишите программу, которая:
Д/З
Доделать все задачи, сделать к ним тесты