Функции min и max в Python
В языке программирования Python есть встроенные функции поиска минимума и максимума. Им можно передавать как один объект, так и непосредственно множество однотипных объектов. Если передается один объект, то им может быть список, любая другая коллекция или итерируемый объект.
Если передается один список, то в нем находится минимум или максимум, которые возвращаются функциями min() и max() .
>>> a = [11,8,12,0] >>> min(a) 0 >>> max(a) 12
Если передается несколько списков, то целиком возвращается один из переданных списков. При этом сравнение происходит поэлементно: сначала сравниваются первые элементы списков. Если они не равны, то функция min() вернет тот список, первый элемент которого меньше, max() — наоборот. Если первые элементы равны, то будут сравниваться вторые и т. д.
>>> a = [11,8,12,0] >>> b = [11,7,123,9] >>> m = min(a,b) >>> print(m, type(m)) [11, 7, 123, 9] >>> c = [11,8,12] >>> min(a,c) [11, 8, 12]
Функциям min() и max() можно непосредственно передавать множество чисел:
>>> max(3, 8, -3, 12, 9) 12
Таким образом, если функции получают несколько объектов, то сравниваются сами объекты. И неважно какого они типа: списки, числа или что-то другое.
Однако нельзя передать числа и строки или смешанный список. В этом случае функция возвращает ошибку:
>>> s = ['a','d',1] >>> min(s) Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: int() < str()
>>> s = ['a','d','ee'] >>> min(s) 'a'
В функциях min() и max() можно указать необязательный именной параметр key . Ему присваивается одноаргументная функция, которая выполняет какое-то предварительное действие над элементами списка.
>>> a = [8,-11,4,2,-5] >>> max(a) 8 >>> max(a,key=abs) -11
Здесь во втором случае находится максимум среди абсолютных значений чисел. То есть к каждому элементу списка применяется встроенная в Python функция abs . Однако применить ее к целым спискам нельзя:
>>> max(a,b,key=abs) Traceback (most recent call last): File "", line 1, in TypeError: bad operand type for abs(): 'list'
минимальный элемент массива python
Причина в том, что вы каждую итерацию цикла перезаписываете min нулевым элементом массива. Строку min = massiv[0] нужно вынести до цикла, вот так:
massiv = [] dlina = int(input()) for y in range(0, dlina): massiv.append(int(input())) min = massiv[0] for i in range(0, len(massiv)): if massiv[i]
Отслеживать
ответ дан 16 ноя 2021 в 22:06
565 2 2 серебряных знака 16 16 бронзовых знаков
Вы постоянно устанавливаете минимум в цикле, что неправильно
Так же я бы заменил цикл
massiv = [] dlina = int(input()) for y in range(0, dlina): massiv.append(int(input())) min_value = massiv[0] for number in massiv: if number < min_value: min_value = number print(min_value)
Отслеживать
ответ дан 16 ноя 2021 в 22:06
Andrey Maslov Andrey Maslov
2,968 1 1 золотой знак 6 6 серебряных знаков 11 11 бронзовых знаков
во первых не очень хорошо использовать в качестве названия переменной название существующей функции
а ошибка в том, что присваивание минимального значения происходит внутри цикла, вынесите ее наружу цикла и все будет хорошо
ну и код поджать можно вот так еще:
data = [int(input()) for y in range(0, int(input()))] value_min = data[0] for value in data: value_min = value if value_min > value else value_min print(value_min)
Ошибка сервера в приложении '/'.
Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег в файле конфигурации "web.config", который находится в корневом каталоге текущего веб-приложения. В теге следует задать атрибут "mode" со значением "Off".
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут "defaultRedirect" тега конфигурации приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.
Python в СРЦОД: 3. Поиск в двумерном массиве
Напишите программу, которая вычисляет сумму элементов матрицы.
Входные данные
В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами.
Выходные данные
Программа должна вывести одно число – сумму элементов матрицы.
Входные данные
4 5 1 2 3 4 5 6 12 8 9 10 11 12 12 14 15 16 17 18 12 20