Я абсолютно не знаю информатику, решите пожалуйста. Тема ветвлений на языке python. Буду очень благодарен!
Ответы
Ответ:
1:
n, m = map(int, input().split())
print(f'Найбольшее число {[n, m][m > n]}')
2:
print(f'Найбольшее число {max(input().split(), key=int)}')
3:
lst = [input().split(': ') for _ in range(3)]
lst.sort(key=lambda x: int(x[1]), reverse=True)
if lst[0][1] == lst[1][1]:
print(f'{lst[0][0].split()[-1][:-1]} и {lst[1][0].split()[-1][:-1]} старше {lst[2][0].split()[-1][:-1]}')
else:
print(f'{lst[0][0].split()[-1][:-1]} старше всех')
Объяснение:
1 - программа принимает на вход строку из двох чисел, разделенных пробелом, делает из нее генератор чисел и распаковывает между переменными n и m. Код [n, m][m > n], это список состоящий из двух элементов, переменных n и m, и сразу же обращаемся к нему по индексу, который будет булевым значением, которое мы получи в результате выражения m > n, если это выражение истинно то мы получаем True которое еквиваленто 1, и в последствии мы получаем елемент под первым индексом, хочу обратить ваше внимание индексация начинается с нуля, из списка [n, m], и если будет введено допустим 1 5, то мы получим следущий текст: "Найбольшее число 5".
2 - программа получает на вход строку из чисел записаных через пробел, делает из этой строки список строк и выдает самое большое число, key=int нужен для того чтобы указать как сравнивать елементы последовательности, просто если у нас будут числа 19 и 100, и они будут сравнивать как строки, функция max вернет 19, в этом случае мы говорим что этот список строк нужно сравнить как числа и вернуть самое большое из них.
3 - программа принимает на вход три строки форматом как в примерах, создает из них список с вложеными списками, потом он сортируется по 2 елементу каждого вложенного списка, и по условию если возраст в первом вложеном списке равняется возросту во втором вложенном списке то выводиться строка: "<имя из первого вложенного списка> и <имя из второго вложенного списка> старше <имя из третьего вложенного списка>", если же кто-то один старше всех то выводится следущая строка: "<имя из первого вложенного списка> старше всех"
lst[0][0].split()[-1][:-1] подобное выражение нужно для того, чтобы, допустим, из строки "Возраст Антона" получить "Антон"