Toujours en Python, mais aujourd'hui, point de modélisation objet, c'est du concis, plus en mode calcul :
fromtypingimportIterable,Tupledefsolve_both(lines:Iterable[str])->Tuple[int,int]:# Symbol -> value for part 1values1={'A':1,'B':2,'C':3,'X':1,'Y':2,'Z':3}# Symbol -> value for part 2values2={'A':1,'B':2,'C':3,'X':-1,'Y':0,'Z':1}score1=0# for part 1score2=0# for part 2forlineinlines:char1,char2=line.split()# Values for part 1value1_1,value1_2=values1[char1],values1[char2]outcome1=((value1_2-value1_1+1)%3)*3# Values for part 2value2_1,result2=values2[char1],values2[char2]value2_2=(value2_1+result2-1)%3+1outcome2=((result2+1)%3)*3# We are player 2!score1+=value1_2+outcome1score2+=value2_2+outcome2returnscore1,score2
# En Python bref
Posté par 🚲 Tanguy Ortolo (site web personnel) . En réponse au message Avent du Code, jour 2. Évalué à 4.
Toujours en Python, mais aujourd'hui, point de modélisation objet, c'est du concis, plus en mode calcul :