В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
DVSHV
DVSHV
08.12.2021 21:20 •  Информатика

Выведите сумму индексов минимального числа последовательности Входные данные :
(строка)
35,43,30,18,5,50,15,20,37,30,5,10,18
Выходные данные :
14​

Показать ответ
Ответ:
kostsimonof
kostsimonof
11.10.2020 11:25

если на входе имеем строку, то привести к листу её можно с метода split(sep), где sep - символ, который программа считает за разделитель

input_list = input().split(',')

В нашей задаче нужно найти минимум, и сложить все индексы, под которыми этот минимум встречается. Для этого нужно привести последовательность к типу int. Можем воспользоваться либо функцией map, либо очень сильным питоньим колдунством (генераторы списков). Но всё таки воспользуемся более традиционным

input_list = list(map(int, input_list))

теперь все элементы нашего списка имеют тип int. Вытащим оттуда минимум:

our_min = min(input_list)

заведём переменную, куда будем складывать сумму индексов:

index_sum = 0

Самым очевидным для школьника сложить все индексы минимума будет перебрать весь массив и сравнивать элементы с нашим минимумом. Что бы не городить огороды, воспользуемся функцией enumerate, которая для нашего листа вернёт лист, состоящий из кортежей (индекс, элемент_под_этим_индексом)

for index, item in enumerate(input_list):

   if item == our_min: index_sum += index

что произошло? Всё просто - если выбранный элемент является минимумом, то мы увеличиваем нашу переменную index_sum на значение индекса очередного встреченного минимума. Осталось дело за малым - выведем сумму индексов на экран

print(index_sum)

P.S - Из выделенных курсивом строчек кода можно склеить программу) Но на всякий случай, ниже всё же приложен скриншот.


Выведите сумму индексов минимального числа последовательности Входные данные :(строка)35,43,30,18,5,
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота