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

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

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

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

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

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

Формат входных данных
На вход программе подаётся два целых числа nn и kk, скорость Зума и Флэша.

Формат выходных данных
Если Зум быстрее Флэша нужно вывести «NO», если Флэш быстрее Зума нужно вывести «YES», если их скорости равны нужно вывести «Don’t know».

a = int(input())
b = int(input())
if b > a:
    print("YES")
if a > b:
    print("NO")
if a == b:
    print ("Don't know")

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

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

Формат входных данных
На вход программе подаются три числа – длины сторон существующего треугольника.

Формат выходных данных
Программа должна вывести на экран текст – вид треугольника («Равносторонний», «Равнобедренный» или «Разносторонний»).

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("Разносторонний")

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

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

Формат входных данных
На вход программе подаётся три различных целых числа, каждое на отдельной строке.

Формат выходных данных
Программа должна вывести среднее число.

Примечание. Средним называется число, которое будет вторым, если три числа отсортировать в порядке возрастания.

a, b, c = int(input()), int(input()), int(input())
if a < b < c or a > b > c:
    print(b)
elif b < c < a or b > c > a:
    print(c)
else:
    print(a)

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

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

Примечание. Постарайтесь написать программу на python, так чтобы в ней было не более трех условий.

Формат входных данных
На вход программе подаётся одно целое число – порядковый номер месяца.

Формат выходных данных
Программа должна вывести количество дней в этом месяце.

# put your python code here
m = int(input())
if m == 2:
    print('28')
elif m <= 7:
    print(30 + m%2 )
else: 
    print(31 - m%2 )

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

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

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

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

Формат входных данных
На вход программе подаётся одно целое число.

Формат выходных данных
Программа должна вывести текст – название весовой категории.

n = int(input())
if n < 60:
    print('Легкий вес')
elif n < 64:
    print('Первый полусредний вес')
elif n < 69:
    print('Полусредний вес')

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

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

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

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

a, b = int(input()), int(input())
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('Неверная операция')

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

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

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

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

Формат входных данных
На вход программе подаются две строки, каждая на отдельной строке.

Формат выходных данных
Программа должна вывести полученный цвет смешения либо сообщение «ошибка цвета», если введён был не цвет.

Примечание 1. Если смешать красный и красный, то получится красный и т.д.

Примечание 2. Поиграйтесь с настоящим цветовым микшером (stepik) 🙂

color1, color2 = input(), input()
if color1 == 'красный' and color2 == 'синий' or (color1 == 'синий' and color2 == 'красный'):
    print('фиолетовый')
elif color1 == 'желтый' and color2 == 'синий' or (color1 == 'синий' and color2 == 'желтый'):
    print('зеленый')
elif color1 == 'красный' and color2 == 'желтый' or (color1 == 'желтый' and color2 == 'красный'):
    print('оранжевый')
elif color1 == 'красный' and color2 == 'красный' or color1 == 'желтый' and color2 == 'желтый' or color1 == 'синий' and color2 == 'синий':
    print(color1)
else:
    print('ошибка цвета')

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

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

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

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

Формат входных данных
На вход программе подаётся одно целое число.

Формат выходных данных
Программа должна вывести цвет кармана либо сообщение «ошибка ввода», если введённое число лежит вне диапазона от 0 до 36.

n = int(input())

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

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

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

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

Формат входных данных
На вход программе подаются 4 целых числа a_1, \, b_1, \, a_2, \, b_2a1​,b1​,a2​,b2​, каждое на отдельной строке. Гарантируется, что a_1 < b_1a1​<b1​​ и a_2 < b_2a2​<b2​​.

Формат выходных данных
Программа должна вывести на экран границы отрезка, являющегося пересечением, либо общую точку, либо текст «пустое множество».

a1, b1, a2, b2 = int(input()), int(input()), int(input()), int(input())

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

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

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: