DamiRocK

Python: переменное число аргументов и минимальная температура

Находим минимум пяти заданных температур через min(). Отличаем несколько аргументов от одного итерируемого объекта и параметров по умолчанию.

Количество входов может меняться

Функции min() и max() можно передать несколько отдельных значений. Например, max(1, 10, 3) возвращает 10, а min(1, -3, 2, 3, 2) — −3.

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

Задание источника

В учебном наборе температуры равны 3, 10, 22, −3 и 0. Найдите минимальную:

print(min(3, 10, 22, -3, 0))

Вывод — −3. В эталонном файле те же пять чисел стоят в немного другом порядке. Минимальное числовое значение от этой перестановки не меняется.

Две формы вызова

При передаче отдельных значений нужны как минимум два позиционных аргумента. Существует также форма с одним итерируемым объектом:

temperatures = (3, 10, 22, -3, 0)
print(min(temperatures))  # -3

Это редакционное дополнение устраняет возможное впечатление, что min всегда требует две записи внутри скобок. Один целочисленный аргумент, например min(3), не является последовательностью и не подходит для этой формы.

Результат и сравнимость

Функция возвращает минимальный элемент, а не его номер в наборе. Для смешения несравнимых объектов, например строки и целого, может возникнуть TypeError. В текущем упражнении все значения — целые, поэтому порядок сравнения определён.

Пример не представляет прогноз погоды: температуры являются фиксированными данными задания. Основная цель — передать несколько аргументов и использовать возвращённое значение.

Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Упражнение сохранено; вторая форма вызова дополнена.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.