Решение модуля 4.2 Добрый, добрый Python

Модуль 4.2 Условный оператор if. Конструкция if-else.

Имеется следующее меню:

m = '''1. Введение в Python
2. Строки и списки
3. Условные операторы
4. Циклы
5. Словари, кортежи и множества
6. Выход'''

В программе вводится целое число от 1 до 6. Нужно вывести пункт меню, связанный с этим числом. Реализовать программу с использованием операторов if-elif

# Варинат решения 1
# Пункты меню в строковом виде
m = '''1. Введение в Python
2. Строки и списки
3. Условные операторы
4. Циклы
5. Словари, кортежи и множества
6. Выход'''
# Преобразовываем в список
menu = list(m.split('\n'))
# Получаем от пользователя необходимый пункт меню
num_menu = int(input())
# Проверяем какому пункту меню соответствует введенный пользователем пункт
if num_menu == 1:
    print(menu[num_menu-1])
elif num_menu == 2:
    print(menu[num_menu-1])
elif num_menu == 3:
    print(menu[num_menu-1])
elif num_menu == 4:
    print(menu[num_menu-1])
elif num_menu == 5:
    print(menu[num_menu-1])
elif num_menu == 6:
    print(menu[num_menu-1])
else:
    print('Такой пункт меню отсутствует')

 Вводятся три целых числа в одну строку через пробел. Необходимо определить наименьшее среди них и вывести его на экран. Реализовать программу, используя условный оператор, без использования функции min.

# Сохраняю данные в переменные с помощью функции map()
a, b, c = map(int, input().split())
# Определяю наименьшее число с помощь условного оператора
if a < b: # Если a меньше b
    if a < c: # Сравниваю a и c
        print(a) # Если а меньше вывожу результат
if b < c: # Если а больше b тогда остается сравнить b и c
    print(b) # Если b меньше то вывожу b
else:
    print(c)  # Иначе вывожу с

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

1) легкий вес – до 60 кг (включительно);
2) первый полусредний вес – до 64 кг (включительно);
3) полусредний вес – до 69 кг (включительно);
4) остальные — более 69 кг.

Вывести на экран номер категории, в которой будет выступать боксер.

# Сохраняю данные в переменную
width = float(input())
# Выполняю проверку согласно условию
if width <= 60:
    print('1')
elif width > 60 and width <= 64:
    print('2')
elif width > 64 and width <= 69:
    print('3')
elif width > 69:
    print('4')
else:
    print('Такой пункт меню отсутствует')

Вводится порядковый номер дня недели (1, 2, …, 7). Вывести на экран его название (понедельник, вторник, среда, четверг, пятница, суббота, воскресенье). Программу реализовать с использованием операторов if-elif.

# Сохраняю число в переменную
number_day = int(input())
# Сравниваю число и вывожу подходящий результат
if number_day == 1:
    print('понедельник')
elif number_day == 2:
    print('вторник')
elif number_day == 3:
    print('среда')
elif number_day == 4:
    print('четверг')
elif number_day == 5:
    print('пятница')
elif number_day == 6:
    print('суббота')
elif number_day == 7:
    print('воскресенье')

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

P.S. Число дней в месяцах не високосного года, начиная с января: 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31

# Сохраняю в переменную номер месяца
number_mounth = int(input())
# Выполняю проверку согласно условию
if number_mounth == 1:
    print('31')
elif number_mounth == 2:
    print('28')
elif number_mounth == 3:
    print('31')
elif number_mounth == 4:
    print('30')
elif number_mounth == 5:
    print('31')
elif number_mounth == 6:
    print('30')
elif number_mounth == 7:
    print('31')
elif number_mounth == 8:
    print('31')
elif number_mounth == 9:
    print('30')
elif number_mounth == 10:
    print('31')
elif number_mounth == 11:
    print('30')
elif number_mounth == 12:
    print('31')  

# Можно сократить объединив месяцы с одинаковый количеством деней
#и привязва к проверки соответвующие номера месяцев через оператор or

Дата некоторого дня характеризуется двумя натуральными числами: m (порядковый номер месяца) и n (число). По введенным m и n (в одну строку через пробел) определить:

а) дату предыдущего дня (принять, что m и n не характеризуют 1 января);
б) дату следующего дня (принять, что m и n не характеризуют 31 декабря).

В задаче принять, что год не является високосным. Вывести предыдущую дату и следующую дату (в формате: mm.dd, где m — число месяца; d — номер дня) в одну строчку через пробел.

P.S. Число дней в месяцах не високосного года, начиная с января: 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31

m, n=map(int,input().split())    # строка ввода чисел с клавиатуры
days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]    # список кол-ва дней в месяцах по порядку
if 1<=m<13:            # если месяц больше или равен 1 и меньше 13, то выполняются следующие действия
    if 1<n<days[m-1]:  # если "день(n)" больше одного и меньше значения элемента списка days с индексом[m-1], то
        n_1=n-1        # предыдущий день равен 
        m_1=m          # месяц предыдущего дня равен
        n_2=n + 1      # последующий день равен
        m_2=m          # месяц последующего дня равен
    elif n==1:         # если "день(n)" равен 1, то
        n_1=days[m-1-1]     # предыдущий день равен значению элемента списка days с индексом[m-1-1](предыдущий месяц)
        m_1=m-1        # месяц предыдущего дня равен
        n_2=n+1        # последующий день равен
        m_2=m          # месяц последующего дня равен
    elif n==days[m-1]: # если "день(n)" равен последнему дню в месяце
        n_1=n-1        # предыдущий день равен
        m_1=m          # месяц предыдущего дня равен
        n_2=1          # последующий день равен
        m_2=m+1        # месяц последующего дня равен
# выводим на печать значения преобразованные в стоку(str) и с выравниванием по левому краю с минимальной шириной строки 2 символа и заполнением пробелов "0"
print(f"{str(m_1).rjust(2,'0')}.{str(n_1).rjust(2,'0')} {str(m_2).rjust(2,'0')}.{str(n_2).rjust(2,'0')}")

Вводится целое число k (1 <= k <= 365). Определить, каким днем недели (понедельник, вторник, среда, четверг, пятница, суббота или воскресенье) является k-й день не високосного года, в котором 1 января является понедельником.

# Импорт библиотеки для работы с датой и временем.
import datetime

# Считываем входящее число - k-й день невисокосного года, в формате разницы времени.
time_delta = datetime.timedelta(days=int(input())-1)

# Задаем текущую дату (2007 год - невисокосный, начинающийся с понедельника).
date_today = datetime.datetime(2007, 1, 1) + time_delta

# Создаем словарь наименований дня недели.
days_week = {0: 'воскресенье', 1: 'понедельник', 2: 'вторник',
             3: 'среда', 4: 'четверг', 5: 'пятница', 6: 'суббота'}

# Выводим результат - день недели k-го дня.
print(days_week[int(date_today.strftime('%w'))])

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

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

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