Прошу помочь решить задачу, никак сообразить не могу. Суть задачи в следующем:
Определить самый дешевый продукт и в каком магазине он продается. Название продукта следует записать в первой строке, а название магазина - во второй. Если несколько товаров стоят одинаково, то выведите то название, которое раньше в алфавитном порядке. Если этот товар продается в нескольких магазинах по одной минимальной цене, то выведите минимальное в алфавитном порядке название магазина.
Задачу нужно решить без использования специальных библиотек для работы с табличными данными.
Сам файл в csv формате и разделителем выступает точка с запятой.
Сейчас на таком этапе:
with open("C:\\Users\\Windows 10\\Desktop\\problem5.csv", 'r', encoding='utf8') as fh: text = fh.read() #def getMinIndex(seq): # minIndex = 0 # for i, x in enumerate(seq): # if x < seq[minIndex]: # minIndex = i # return minIndex #for i,j in shops_and_prices: # result = [min(p) for p in zip(j)] def strings_to_num(price): return [int(s) for s in price] data = list(map(lambda s: s.split(';'), text.splitlines())) product = data[0][1:] shops_and_prices = [(row[0], strings_to_num(row[1:])) for row in data[1:]] best_row = min(shops_and_prices, key=lambda shop_and_price: shop_and_price[1]) best_shop, best_prices = best_row for products in zip(product, best_prices): print('{} {}'.format(*products) + ' ' + best_shop)
Знаю, что решаю её не правильно, но пока сообразить не могу как сравнить все списки с ценами и вытащить минимальные вместе с магазином к товару.
Думал на счет сравнения всех списков и вытягивания только минимальных, но тоже пока не получается(