Форум сайта python.su
from collections import Counter d = {} qwe = [] a = [str(input()) for i in range(18)] z = a[::3] for i in z: a.remove(i) m = a[::2] data_pairs = zip(a[::2],a[1::2]) for x in data_pairs: d.setdefault(x[0],[]).append(int(x[1])) for i, j in d.items(): d[i] = int(min(j)) l = Counter(m) max_ = max(l.values()) for m, l in l.items(): if l == max_: qwe.append(m) if len(qwe) == 1: print(*qwe) else: ss = [] for i in qwe: for m, l in d.items(): if i == m: ss.append(int(l)) asdf = [] min_ = min(ss) for i, j in d.items(): if min_ == int(j): asdf.append(i) print(asdf[0])
Прикреплённый файлы: rfv.py (758 байт)
Офлайн
Alexppp
А локально вы пробовали этот код тестировать? На каком массиве данных?
Офлайн
Для данной задачи, код мягко говоря, совсем говно.
Офлайн
a = [[b]str([/b]input()) for i in range(18)]
spl = iter([input() for _ in range(18)]) dict_device = {} for _,dev,price in zip(spl,spl,spl): if dev in dict_device: dict_device[dev][0] += 1 if int(price) < dict_device[dev][1]: dict_device[dev][1] = int(price) else: dict_device[dev] = [1, int(price)] max_dev = max(i[0] for i in dict_device.values()) dict_device = dict((k,v) for k,v in dict_device.items() if v[0] == max_dev) print(min(dict_device, key = lambda x : dict_device.get(x)[1] ))
Отредактировано marvellik (Сен. 29, 2018 21:25:33)
Офлайн