если на входе имеем строку, то привести к листу её можно с метода 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 - Из выделенных курсивом строчек кода можно склеить программу) Но на всякий случай, ниже всё же приложен скриншот.
если на входе имеем строку, то привести к листу её можно с метода 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 - Из выделенных курсивом строчек кода можно склеить программу) Но на всякий случай, ниже всё же приложен скриншот.
n = int(input()) # получаем кол-во продуктов и записываем в n
a = {} # библиотека для цен
c = {} # библиотека для кол-во продукта
l = [] # массив для всех проданных продуктов
for i1 in range(n): # цикл для заполнения всех массивов
b = [] # массив b для отделения цены о названия продукта
b.append(input().split()) # записываем продукт и его цену в массив b
k = int(b[0][len(b[0])-1]) # записываем в k цену продукта
v = ''
for i in range(len(b[0])-1): # при цикла объединяем название в одну строчку и записываем в v
v = v + str(b[0][i]) + ' '
l.append(v) # добавляем название в массив l
a[v] = k # добавляем цену и продукт в библиотеку a
c[v] = 0 # добавляем продукт в библиотеку b
for i in range(len(l)): # записываем при цикла кол-во каждого продукта
c[l[i]] = c[l[i]]+1
print(len(c)) # выводим кол-во продуктов, которые были проданы
for i in a: # при цикла выводим продукт и сколько за него в итоге заплатили
print(str(i)+str(a[i]*c[i]))
Объяснение