Практическое занятие 4: Условия и циклы
Цель занятия
Заголовок раздела «Цель занятия»Научиться использовать условия (if/elif/else) и циклы для управления потоком выполнения программы.
Условные операторы
Заголовок раздела «Условные операторы»Операторы сравнения
Заголовок раздела «Операторы сравнения»a = 10b = 5
print(a == b) # Равно: Falseprint(a != b) # Не равно: Trueprint(a > b) # Больше: Trueprint(a < b) # Меньше: Falseprint(a >= b) # Больше или равно: Trueprint(a <= b) # Меньше или равно: FalseЛогические операторы
Заголовок раздела «Логические операторы»x = 10y = 5z = 15
# and (логическое И)print(x > y and x < z) # True и True = Trueprint(x > y and x > z) # True и False = False
# or (логическое ИЛИ)print(x > y or x > z) # True или False = Trueprint(x < y or x > z) # False или False = False
# not (логическое НЕ)print(not x > y) # не True = Falseprint(not x < y) # не False = TrueОператор if
Заголовок раздела «Оператор if»age = 18
if age >= 18: print("Вы совершеннолетний")Оператор if-else
Заголовок раздела «Оператор if-else»age = 15
if age >= 18: print("Вы совершеннолетний")else: print("Вы несовершеннолетний")Оператор if-elif-else
Заголовок раздела «Оператор if-elif-else»grade = 85
if grade >= 90: print("Отлично")elif grade >= 75: print("Хорошо")elif grade >= 60: print("Удовлетворительно")else: print("Неудовлетворительно")Вложенные условия
Заголовок раздела «Вложенные условия»age = 25has_license = True
if age >= 18: if has_license: print("Вы можете водить автомобиль") else: print("Вам нужно получить права")else: print("Вы слишком молоды для вождения")Проверка числа
Заголовок раздела «Проверка числа»number = 7
# Проверка на чётность/нечётностьif number % 2 == 0: print(f"{number} — чётное число")else: print(f"{number} — нечётное число")
# Проверка на положительность/отрицательностьif number > 0: print(f"{number} — положительное число")elif number < 0: print(f"{number} — отрицательное число")else: print(f"{number} — ноль")
# Проверка на простотуif number > 1: is_prime = True for i in range(2, int(number ** 0.5) + 1): if number % i == 0: is_prime = False break if is_prime: print(f"{number} — простое число") else: print(f"{number} — составное число")Цикл for
Заголовок раздела «Цикл for»# Итерация по спискуfruits = ["яблоко", "банан", "апельсин"]for fruit in fruits: print(fruit)
# Итерация по строкеtext = "Python"for char in text: print(char)
# Итерация по диапазону чиселfor i in range(5): print(i) # 0, 1, 2, 3, 4
# Диапазон с началом и концомfor i in range(1, 6): print(i) # 1, 2, 3, 4, 5
# Диапазон с шагомfor i in range(0, 10, 2): print(i) # 0, 2, 4, 6, 8
# Использование enumeratefruits = ["яблоко", "банан", "апельсин"]for index, fruit in enumerate(fruits): print(f"{index}: {fruit}")Цикл while
Заголовок раздела «Цикл while»count = 0while count < 5: print(count) count += 1
# Бесконечный цикл с условием выходаwhile True: user_input = input("Введите 'exit' для выхода: ") if user_input.lower() == "exit": break print(f"Вы ввели: {user_input}")Управление циклами
Заголовок раздела «Управление циклами»# break — прерывание циклаfor i in range(10): if i == 5: break print(i) # 0, 1, 2, 3, 4
# continue — переход к следующей итерацииfor i in range(5): if i == 2: continue print(i) # 0, 1, 3, 4
# else после цикла (выполняется, если не было break)for i in range(5): if i == 10: break print(i)else: print("Цикл завершён без break")Примеры использования
Заголовок раздела «Примеры использования»Калькулятор с условиями
Заголовок раздела «Калькулятор с условиями»# Простой калькуляторnum1 = float(input("Введите первое число: "))num2 = float(input("Введите второе число: "))operation = input("Введите операцию (+, -, *, /): ")
if operation == "+": result = num1 + num2elif operation == "-": result = num1 - num2elif operation == "*": result = num1 * num2elif operation == "/": if num2 != 0: result = num1 / num2 else: result = "Ошибка: деление на ноль"else: result = "Неверная операция"
print(f"Результат: {result}")Поиск числа в списке
Заголовок раздела «Поиск числа в списке»numbers = [10, 20, 30, 40, 50]target = 30
# Использование цикла forfound = Falsefor num in numbers: if num == target: found = True break
if found: print(f"Число {target} найдено в списке")else: print(f"Число {target} не найдено в списке")
# Использование оператора inif target in numbers: print(f"Число {target} найдено в списке")else: print(f"Число {target} не найдено в списке")Сумма чётных чисел
Заголовок раздела «Сумма чётных чисел»numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_sum = 0
for num in numbers: if num % 2 == 0: even_sum += num
print(f"Сумма чётных чисел: {even_sum}")Генерация таблицы умножения
Заголовок раздела «Генерация таблицы умножения»size = 5for i in range(1, size + 1): for j in range(1, size + 1): print(f"{i * j:3}", end=" ") print()Факториал числа
Заголовок раздела «Факториал числа»number = 5factorial = 1
for i in range(1, number + 1): factorial *= i
print(f"Факториал числа {number}: {factorial}")Задания для самостоятельной работы
Заголовок раздела «Задания для самостоятельной работы»-
Напишите программу, которая определяет, является ли введённый год високосным. (Год високосный, если он делится на 4, но не делится на 100, либо делится на 400).
-
Создайте программу, которая запрашивает число N и выводит все числа от 1 до N, которые делятся на 3 или на 5.
-
Напишите программу, которая находит максимальное число в списке без использования встроенной функции
max(). -
Создайте игру “Угадай число”, где компьютер загадывает случайное число от 1 до 100, а пользователь пытается его угадать с подсказками “больше” или “меньше”.
-
Напишите программу, которая проверяет, является ли введённая строка палиндромом (читается одинаково в обе стороны).
Пример решения задания 1
Заголовок раздела «Пример решения задания 1»year = int(input("Введите год: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): print(f"{year} — високосный год")else: print(f"{year} — не високосный год")Пример решения задания 3
Заголовок раздела «Пример решения задания 3»numbers = [5, 2, 9, 1, 7, 3]
maximum = numbers[0]for num in numbers: if num > maximum: maximum = num
print(f"Максимальное число: {maximum}")Пример решения задания 5
Заголовок раздела «Пример решения задания 5»text = input("Введите строку: ")
# Удаляем пробелы и приводим к нижнему региструtext = text.replace(" ", "").lower()
# Проверяем палиндромif text == text[::-1]: print("Это палиндром")else: print("Это не палиндром")Полезные ресурсы
Заголовок раздела «Полезные ресурсы»Следующий шаг
Заголовок раздела «Следующий шаг»На следующем занятии мы изучим функции, работу с файлами и модули.