files = ['./input-7-1.txt', './input-7-2.txt'] for f in files: with open(f,'r') as fi: lowest_rate = {} lines = fi.readlines() for l in lines: if (l != '-1'): [origin_port, destination_port, shipping_rate, carrier_name] = l.strip().split(' ') shipping_rate = float(shipping_rate) if (destination_port in lowest_rate.keys()): if shipping_rate < lowest_rate[destination_port]['shipping_rate'] : lowest_rate[destination_port] = {'origin_port': origin_port, 'destination_port': destination_port, 'shipping_rate': shipping_rate, 'carrier_name': carrier_name} else: lowest_rate[destination_port] = {'origin_port': origin_port, 'destination_port': destination_port, 'shipping_rate': shipping_rate, 'carrier_name': carrier_name} print(f) for v in lowest_rate.values(): print(f"The lowest shipping rate from {v['origin_port']}' to {v['destination_port']} is {v['shipping_rate']}.") print()