Перейти к содержимому

Практическое занятие 4: Условия и циклы

Научиться использовать условия (if/elif/else) и циклы для управления потоком выполнения программы.

a = 10
b = 5
print(a == b) # Равно: False
print(a != b) # Не равно: True
print(a > b) # Больше: True
print(a < b) # Меньше: False
print(a >= b) # Больше или равно: True
print(a <= b) # Меньше или равно: False
x = 10
y = 5
z = 15
# and (логическое И)
print(x > y and x < z) # True и True = True
print(x > y and x > z) # True и False = False
# or (логическое ИЛИ)
print(x > y or x > z) # True или False = True
print(x < y or x > z) # False или False = False
# not (логическое НЕ)
print(not x > y) # не True = False
print(not x < y) # не False = True
age = 18
if age >= 18:
print("Вы совершеннолетний")
age = 15
if age >= 18:
print("Вы совершеннолетний")
else:
print("Вы несовершеннолетний")
grade = 85
if grade >= 90:
print("Отлично")
elif grade >= 75:
print("Хорошо")
elif grade >= 60:
print("Удовлетворительно")
else:
print("Неудовлетворительно")
age = 25
has_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} — составное число")
# Итерация по списку
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
# Использование enumerate
fruits = ["яблоко", "банан", "апельсин"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
count = 0
while 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 + num2
elif operation == "-":
result = num1 - num2
elif operation == "*":
result = num1 * num2
elif operation == "/":
if num2 != 0:
result = num1 / num2
else:
result = "Ошибка: деление на ноль"
else:
result = "Неверная операция"
print(f"Результат: {result}")
numbers = [10, 20, 30, 40, 50]
target = 30
# Использование цикла for
found = False
for num in numbers:
if num == target:
found = True
break
if found:
print(f"Число {target} найдено в списке")
else:
print(f"Число {target} не найдено в списке")
# Использование оператора in
if 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 = 5
for i in range(1, size + 1):
for j in range(1, size + 1):
print(f"{i * j:3}", end=" ")
print()
number = 5
factorial = 1
for i in range(1, number + 1):
factorial *= i
print(f"Факториал числа {number}: {factorial}")
  1. Напишите программу, которая определяет, является ли введённый год високосным. (Год високосный, если он делится на 4, но не делится на 100, либо делится на 400).

  2. Создайте программу, которая запрашивает число N и выводит все числа от 1 до N, которые делятся на 3 или на 5.

  3. Напишите программу, которая находит максимальное число в списке без использования встроенной функции max().

  4. Создайте игру “Угадай число”, где компьютер загадывает случайное число от 1 до 100, а пользователь пытается его угадать с подсказками “больше” или “меньше”.

  5. Напишите программу, которая проверяет, является ли введённая строка палиндромом (читается одинаково в обе стороны).

year = int(input("Введите год: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year} — високосный год")
else:
print(f"{year} — не високосный год")
numbers = [5, 2, 9, 1, 7, 3]
maximum = numbers[0]
for num in numbers:
if num > maximum:
maximum = num
print(f"Максимальное число: {maximum}")
text = input("Введите строку: ")
# Удаляем пробелы и приводим к нижнему регистру
text = text.replace(" ", "").lower()
# Проверяем палиндром
if text == text[::-1]:
print("Это палиндром")
else:
print("Это не палиндром")

На следующем занятии мы изучим функции, работу с файлами и модули.