#!/usr/bin/env python3 import sys,string import numpy as np def find_badge(r): r1,r2,r3 = r i1 = set(r1).intersection(set(r2)) i2 = set(r3).intersection(i1) item = list(i2)[0] p = string.ascii_letters.index(item) + 1 return p if __name__ == '__main__': sacks = [list(line.strip('\n')) for line in open(sys.argv[1])] # challenge 1 priorities = 0 for sack in sacks: item = list(set(sack[:len(sack)//2]).intersection(set(sack[len(sack)//2:])))[0] priorities = priorities + string.ascii_letters.index(item) + 1 res1 = str(priorities) print("challenge 1:" + "\n" + res1 + "\n") # challenge 2 s = np.array_split(np.array(sacks,dtype=object),len(sacks)/3) prios = list(map(find_badge,s)) res2 = str(np.sum(prios)) print("challenge 2:" + "\n" + res2 + "\n")