• [^] # Re: Python pas classieux mais avec des set

    Posté par . En réponse au message Avent du Code, jour 3. Évalué à 1. Dernière modification le 13 décembre 2022 à 09:48.

    # part 1
    print ("part1:", sum( ( ord(i)-38 , ord(i)-96) [ ord(i)>90 ] for x in open("input").readlines() for i in set(x[:len(x)//2]).intersection(x[len(x)//2:])))
    # part 2
    def part2():
     with open("input") as infile:
     for line1 in infile:
     line2 = next(infile)
     line3 = next(infile)
     for i in set(line1.strip()).intersection(line2).intersection(line3):
     yield ( ( ord(i)-38 , ord(i)-96) [ ord(i)>90 ])
    print("part2:", sum(list(part2())))

    (oui j'arrive après la bataille ;-) )