Решение модуля 4.3 «Поколение Python» курс для начинающих

Приветствую всех читателей! Сегодня мы продолжаем изучение программирования на Python и поговорим о важной теме — условных операторах. В этом уроке мы разберем три основные концепции, связанные с условными операторами: вложенные условия, каскадные условия и их применение в реальных задачах. Этот урок является частью “модуля 4.3” из курса «Поколение Python»: курс для начинающих» с ответами на вопросы и подробным кодом.

Условный оператор

Условный оператор в Python позволяет выполнять блок кода только в том случае, если определенное условие истинно. Основная синтаксическая конструкция выглядит так:

if условие:
    # блок кода, выполняемый если условие истинно

Например:

age = 18
if age >= 18:
    print("Вы совершеннолетний.")

Вложенные условия

Иногда необходимо выполнить проверку внутри другой проверки. Это называется вложенными условиями. Рассмотрим пример:

score = 85

if score >= 50:
    if score >= 75:
        print("Вы сдали экзамен с отличием.")
    else:
        print("Вы просто сдали экзамен.")
else:
    print("Вы не сдали экзамен.")

В этом примере сначала проверяется, больше ли score значения 50. Если это так, то внутри первого блока if выполняется ещё одна проверка — больше ли score значения 75.

Каскадные условия

Каскадные условия позволяют упростить код за счёт использования конструкции elif, которая объединяет несколько последовательных проверок условий:

score = 85

if score < 50:
    print("Вы не сдали экзамен.")
elif score < 75:
    print("Вы просто сдали экзамен.")
else:
    print("Вы сдали экзамен с отличием.")

Здесь используется один блок if, затем следует несколько блоков elif, которые позволяют проверить дополнительные условия без необходимости вложенности.

Применение на практике

Рассмотрим практический пример использования условных операторов для определения категории пользователя по возрасту:

age = int(input("Введите ваш возраст: "))

if age < 13:
    category = "ребёнок"
elif age < 18:
    category = "подросток"
elif age < 65:
    category = "взрослый"
else:
    category = "пенсионер"

print(f"Ваша категория: {category}")

Этот код запрашивает у пользователя ввод возраста и определяет его категорию на основе каскадных условий.

Заключение

Условные операторы являются фундаментальной частью программирования на Python и позволяют создавать более гибкие и функциональные программы. Вложенные и каскадные условия помогают улучшить читаемость кода и избежать излишней сложности.

Надеюсь, этот урок был полезным для вас! Удачи вам в обучении!

Решения модуль 4.3 «Поколение Python»: курс для начинающих

Полные решения модуля 4.3 из курса «Поколение Python: курс для начинающих» с степика по питону. Все ответы даны на питоне и выполняются без ошибок.

Опубликованы они для самопроверки. Не обманывайте себя и решайте сами, позже сверяясь с моими вариантами.

Гонка спидстеров

Зум бросил вызов Флэшу и предложил ему честный поединок в виде гонки вокруг магнетара. В случае проигрыша эта нейтронная звезда зарядится и уничтожит мир, поэтому Флэш решил не рисковать без причины, и узнать у своего друга Циско Рамона есть ли смысл принимать вызов. Циско получил данные, что скорость Зума равна n, а скорость Флэша равна k.

Напишите программу, которая должна вывести ответ Циско на вопрос Флэша.

Решение модуля 4.3 "Поколение Python" курс для начинающих
Zoom_Speed = int(input())      # Скорость Зума
Flash_Speed = int(input())     # Скорость Флеша

# Если Зум быстрее Флеша - Флеш проиграет
if Zoom_Speed > Flash_Speed:   
    print('NO')    
    
# Если Флеш быстрее Зума - Флеш выиграет            
elif Flash_Speed > Zoom_Speed: 
    print('YES') 

# Если скорость Флеша и Зума одинакова, то выиграет тот, на чьей стороне будет удача              
else:                          
    print("Don't know")

Вид треугольника

Напишите программу, которая принимает три положительных числа и определяет вид треугольника, длины сторон которого равны введенным числам.

Решение модуля 4.3 "Поколение Python" курс для начинающих
# Получаем длины сторон треугольника и сохраняем их в переменных a, b, c
a = int(input())
b = int(input())
c = int(input())

# Проверяем, является ли треугольник равносторонним (все стороны равны)
if a == b == c:
    print("Равносторонний")

# Проверяем, является ли треугольник равнобедренным (две стороны равны)
# и при этом не является равносторонним (не все стороны равны)
if (a == b or a == c or b == c) and (a != c or a != b or b != c):
    print("Равнобедренный")

# Если ни одна сторона не ровна другой то треугольник считается разносторонним (все стороны разные)
if a != b and a != c and c != b:
    print("Разносторонний")

Среднее число

Даны три различных целых числа. Напишите программу, которая находит среднее по величине число.

Решение модуля 4.3 "Поколение Python" курс для начинающих
# Получаем три целых числа и сохраняем их в переменных a, b, c
a, b, c = int(input()), int(input()), int(input())

# Если условие выполняется, то b - это второе по величине число.
if a < b < c or a > b > c:
    print(b)
    
# Если это условие выполняется, то c - это второе по величине число.
elif b < c < a or b > c > a:
    print(c)

# Если ни одно из условий не выполняется, то a - это второе по величине число.
else:
    print(a)

Количество дней

Дан порядковый номер месяца (1,2,…, 12). Напишите программу, которая выводит на экран количество дней в этом месяце. Принять, что год является невисокосным.

Решение модуля 4.3 "Поколение Python" курс для начинающих
m = int(input())

# Если это февраль
if m == 2:
    print('28')         
elif m <= 7:            # если месяц до июля
    print(30 + m%2 )    # то к 30 дням добавляем остаток от деления месяца
else: 
    print(31 - m%2 )    # то из 31 дня убавляем остаток от деления месяца

Церемония взвешивания

Известен вес боксера-любителя (целое число). Известно, что вес таков, что боксер может быть отнесён к одной из трех весовых категорий:

Легкий вес – до 60 кг;
Первый полусредний вес – до 64 кг;
Полусредний вес – до 69 кг.

Напишите программу, определяющую, в какой категории будет выступать данный боксер.

Решение модуля 4.3 "Поколение Python" курс для начинающих
# Получаем вес боксера и сохраняем его в переменной n
n = int(input())

# Проверяем, если вес боксера меньше 60 кг, то выводим 'Легкий вес'
if n < 60:
    print('Легкий вес')

# Если вес боксера больше или равен 60 кг и меньше 64 кг, то выводим 'Первый полусредний вес'
elif n < 64:
    print('Первый полусредний вес')

# Если вес боксера больше или равен 64 кг и меньше 69 кг, то выводим 'Полусредний вес'
elif n < 69:
    print('Полусредний вес')

Самописный калькулятор ?️

Напишите программу, которая считывает с клавиатуры два целых числа и строку. Если эта строка является обозначением одной из четырёх математических операций (+, -, *, /), то выведите результат применения этой операции к введённым ранее числам, в противном случае выведите «Неверная операция». Если пользователь захочет поделить на ноль, выведите текст «На ноль делить нельзя!».

Решение модуля 4.3 "Поколение Python" курс для начинающих
# Получаем два целых числа и сохраняем их в переменных a и b
a, b = int(input()), int(input())

# Считываем операцию (+, -, *, /) с клавиатуры и сохраняем её в переменной s
s = input()

# Проверяем, какая операция введена
if s == '+':  # Если операция - сложение
    print(a + b)

elif s == '-':  # Если операция - вычитание
    print(a - b)

elif s == '*':  # Если операция - умножение
    print(a * b)

elif s == '/':  # Если операция - деление
    if b == 0:  # Проверяем, делитель не равен нулю
        print('На ноль делить нельзя!')
    else:
        print(a / b)

else:  # Если введена неверная операция
    print('Неверная операция')

Цветовой микшер ?️

Красный, синий и желтый называются основными цветами, потому что их нельзя получить путем смешения других цветов. При смешивании двух основных цветов получается вторичный цвет:

если смешать красный и синий, то получится фиолетовый;
если смешать красный и желтый, то получится оранжевый;
если смешать синий и желтый, то получится зеленый.

Напишите программу, которая считывает названия двух основных цветов для смешивания. Если пользователь вводит что-нибудь помимо названий «красный», «синий» или «желтый», то программа должна вывести сообщение об ошибке. В противном случае программа должна вывести название вторичного цвета, который получится в результате.

Решение модуля 4.3 "Поколение Python" курс для начинающих
# Получаем два цвета и сохраняем их в переменных a и b
a = input()
b = input()

# Проверяем, какие цвета введены и выводим соответствующий результат смешения
if (a == 'красный' and b == 'синий') or (a == 'синий' and b == 'красный'):
    print('фиолетовый')
elif a == 'красный' and b == 'красный':
    print('красный')
elif (a == 'красный' and b == 'желтый') or (a == 'желтый' and b == 'красный'):
    print('оранжевый')
elif a == 'желтый' and b == 'желтый':
    print('желтый')
elif (a == 'синий' and b == 'желтый') or (a == 'желтый' and b == 'синий'):
    print('зеленый')
elif a == 'синий' and b == 'синий':
    print('синий')
else:
    print('ошибка цвета')

Цвета колеса рулетки ?️

На колесе рулетки карманы пронумерованы от 0 до 36. Ниже приведены цвета карманов: 

карман 0 зеленый;
для карманов с 1 по 10 карманы с нечетным номером имеют красный цвет, карманы с четным номером – черный;
для карманов с 11 по 18 карманы с нечетным номером имеют черный цвет, карманы с четным номером – красный;
для карманов с 19 по 28 карманы с нечетным номером имеют красный цвет, карманы с четным номером – черный;
для карманов с 29 по 36 карманы с нечетным номером имеют черный цвет, карманы с четным номером – красный.

Напишите программу, которая считывает номер кармана и показывает, является ли этот карман зеленым, красным или черным. Программа должна вывести сообщение об ошибке, если пользователь вводит число, которое лежит вне диапазона от 0 до 36.

Решение модуля 4.3 "Поколение Python" курс для начинающих
# Получаем число и сохраняем его в переменной n
n = int(input())

# Проверяем допустимый диапазон числа
if n < 0 or n > 36:
    print('ошибка ввода')

# Обработка случая, когда n равно 0 (зеленый)
elif n == 0:
    print('зеленый')

# Обработка чисел от 1 до 10 и от 19 до 28 (черный и красный чередуются)
elif 1 <= n <= 10 or 19 <= n <= 28:
    if n % 2 == 0:  # Четные числа - черные
        print('черный')
    else:  # Нечетные числа - красные
        print('красный')

# Обработка чисел от 11 до 18 и от 29 до 36 (красный и черный чередуются)
elif 11 <= n <= 18 or 29 <= n <= 36:
    if n % 2 == 0:  # Четные числа - красные
        print('красный')
    else:  # Нечетные числа - черные
        print('черный')

Пересечение отрезков ?️?️

На числовой прямой даны два отрезка: [a1​;  b1​] и [a2​; b2​]. Напишите программу, которая находит их пересечение.

Пересечением двух отрезков может быть:
отрезок;
точка;
пустое множество.

Решение модуля 4.3 "Поколение Python" курс для начинающих
# Получаем координаты первого отрезка
a1 = int(input())  # Левая граница первого отрезка
b1 = int(input())  # Правая граница первого отрезка

# Получаем координаты второго отрезка
a2 = int(input())  # Левая граница второго отрезка
b2 = int(input())  # Правая граница второго отрезка

# Проверяем, если отрезки не пересекаются или имеют общую точку
if a2 > b1 or a1 > b2:  # Отсутствие пересечения
    print('пустое множество')
elif a1 == b2:  # Есть общая точка (первое условие)
    print(a1)
elif a2 == b1:  # Есть общая точка (второе условие)
    print(a2)
else:  # Осталось найти пересечение
    if a1 > a2:  # Выбираем большую из левых границ
        a2 = a1
    if b1 < b2:  # Выбираем меньшую из правых границ
        b2 = b1
    print(a2, b2)  # Выводим координаты точки пересечения (если она существует)

Если все решения правильны, то у вас должен быть допуск к следующему тесту на stepik по баллам.

Итоговая 5 работа на python

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

6 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Jolly_Joker
Jolly_Joker
1 год назад

Красавчег!
Я думаю, многим помог ;)
Альтернативный вариант:

a1, b1, a2, b2 = [input() for _ in range(4)]
if b1 < a2 or b2 < a1:
    print('пустое множество')


elif a1 == b2: print(a1)
elif a2 == b1: print(b1)


elif a1 <= a2 < b1 < b2: print(a2, b1)
elif a2 <= a1 < b2 < b1: print(a1, b2)
    
elif a1 < a2 < b2 <= b1: print(a2, b2)
elif a2 < a1 < b1 <= b2: print(a1, b1)


elif a1 == a2 and b1 == b2: print(a1, b1)
Александр
Александр
1 год назад

4.3. #11 Пересечение отрезков

a1 = int(input()) #brown
b1 = int(input())
a2 = int(input()) #green
b2 = int(input())

if (b1 == a2):
print(b1)
elif (b2 == a1):
print(b2)
elif (b1 < a2 or b2 < a1):
print("пустое множество")
else:
print(max(a1, a2), min(b1, b2))

Александр
Александр
1 год назад

4.3. #10 Цвета колеса рулетки

a = int(input())
if 0<=a<37:
if (0<a<11 or 18<a<29) and a%2 or (10<a<19 or 28<a<37) and a%2==0:
print('красный')
elif a == 0:
print('зеленый')
else:
print('черный')
else:
print('ошибка ввода')

Andrey Verhoglyad
Andrey Verhoglyad
2 лет назад

Спасибо большое! :twisted:

Obebox
Obebox
2 лет назад

матрийи\\ци матрцици :lol: :idea:

NEO
NEO
2 лет назад

Великий архитектор матрици помги мне

6
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x