Top.Mail.Ru
Ответы

PYTHON help me please

Дан список чисел. Необходимо найти и вывести индексы всех максимальных элементов этого списка.

Формат входных данных
Вводится последовательность целых чисел. Все числа вводятся в одну строку через пробел.

Формат выходных данных
Выведите искомые значения через пробел.

входные данные выходные данные
5 -3 5 2 1
0 2
0 1 2 5 6
-2606 -2606 -2606 -9668 -8838 -2606 -2606 -7287

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Оракул

У меня такой вопрос, какие элементы являются не максимальными? Минимальный?

Аватар пользователя
Знаток

#Вводим последовательность чисел
numbers = list(map(int, input().split()))

# Находим максимальное значение в списке
max_value = max(numbers)

# Инициализируем список для хранения индексов максимальных элементов
max_indices = []

# Итерируемся по списку и добавляем индексы максимальных элементов в список
for i in range(len(numbers)):
if numbers[i] == max_value:
max_indices.append(i)

# Выводим индексы максимальных элементов через пробел
print(*max_indices)

Аватар пользователя
Мыслитель

Вот решение на Python для задачи поиска индексов всех максимальных элементов списка:

12345678910111213141516171819202122232425
 def find_max_indices(nums): 
  """ 
  Находит и возвращает индексы всех максимальных элементов списка. 
 
  Args: 
    nums: Список целых чисел. 
 
  Returns: 
    Список индексов максимальных элементов. 
  """ 
  max_num = nums[0] 
  max_indices = [] 
  for i, num in enumerate(nums): 
    if num > max_num: 
      max_num = num 
      max_indices = [i] 
    elif num == max_num: 
      max_indices.append(i) 
  return max_indices 
 
 
if __name__ == "__main__": 
  nums = list(map(int, input().split())) 
  max_indices = find_max_indices(nums) 
  print(*max_indices) 

Это решение работает следующим образом:

Мы начинаем с того, что инициализируем переменную max_num значением первого элемента списка.
Затем мы создаем список max_indices, который будет содержать индексы всех максимальных элементов.
В цикле for мы проверяем каждый элемент списка. Если элемент больше, чем max_num, то мы обновляем значение max_num и добавляем индекс элемента в список max_indices. Если элемент равен max_num, то мы добавляем индекс элемента в список max_indices.
В конце цикла мы возвращаем список max_indices.
Вот пример использования этого решения:

123
 >>> nums = [5, -3, 5, 2, 1] 
>>> find_max_indices(nums) 
[0, 3] 

Это решение также можно написать более кратко, используя функцию max():

1234567891011
 def find_max_indices(nums): 
  """ 
  Находит и возвращает индексы всех максимальных элементов списка. 
 
  Args: 
    nums: Список целых чисел. 
 
  Returns: 
    Список индексов максимальных элементов. 
  """ 
  return [i for i, num in enumerate(nums) if num == max(nums)] 

Это решение работает следующим образом:

Мы используем функцию max() для нахождения максимального элемента списка.
Затем мы создаем список max_indices, который будет содержать индексы всех максимальных элементов.
В цикле for мы проверяем каждый элемент списка. Если элемент равен максимальному элементу, то мы добавляем индекс элемента в список max_indices.
В конце цикла мы возвращаем список max_indices.