• # quick python

    Posté par . En réponse au message Avent du Code, jour 10. Évalué à 3.

    Rien à voir avec hier, les deux parties en une grosse demie heure.

    part 1

    import sys
    X = 1
    C = 0
    S = []
    I = {20, 60, 100, 140, 180, 220}
    def inc():
     global C
     C += 1
     if C in I:
     S.append(C*X)
    for l in sys.stdin.read().splitlines():
     m, q = (l+" _").split(" ")[:2]
     if m == "noop":
     inc()
     else: # add
     inc()
     inc()
     X += int(q)
    print(sum(S))

    part 2

    import sys
    X = 1
    C = 0
    LCD = [["."]*40 for _ in range(6)]
    def inc():
     global C
     (r,c) = divmod(C, 40)
     C+=1
     if c in [X, X-1, X+1]:
     LCD[r][c]="#"
    for l in sys.stdin.read().splitlines():
     m, q = (l+" _").split(" ")[:2]
     if m == "noop":
     inc()
     else: # add
     inc()
     inc()
     X += int(q)
    print("\n".join("".join(r) for r in LCD))