Voilà pourquoi il faut toujours prendre sa Numworks quand on part en vacances !
Imaginez 4 amis : Pierre (noté pi), Audrey (a), Patricia (pa) et Eric (e)
- Pour aller au cinéma, Eric a avancé 10 euros à Audrey
- Pierre a payé 20 euros l’entrée dans un parc pour les 4 personnes
- Patricia a avancé 2 euros à Eric pour une glace
- Eric a avancé 24 euros pour l’entrée à la piscine des 4 amis
Qui doit combien à qui ??
C’est très simple en utilisant le programme amis
:
>> amis()
Liste amis ? pi,a,pa,e
T=tous, 0=fin # On nous dit d'utiliser T pour tous et 0 pour terminer
a avance x EUR pr b # l'ordre de saisi est a puis x puis b
a,x,b : e,10,a # Eric avance 10 EUR à Audrey
a,x,b : pi,20,T # Pierre avance 20 EUR à Tous
a,x,b : pa,2,e
a,x,b : e,24,T
a,x,b : 0 # On a fini
Bilan :
pi prend 9.0 # Pierre récupère 9 EUR
a depose 21.0 # Audrey dépose 21 EUR
pa depose 9.0 # Patricia dépose 9 EUR
e prend 21.0 # Eric récupère 21 EUR
Bien entendu vous pouvez utiliser des nombres à virgule, par exemple : pa,2.50,e
.
def amis(): amis = input("Liste amis ? ").split(",") c = {'T':[0,0]} for p in amis: c[p]=[0,0] print("T=tous, 0=fin") print("a avance x EUR pr b") while True: v = input("a,x,b : ") if v=="0": break a,x,b = v.split(",") c[a][0]+=float(x) c[b][1]+=float(x) print("Bilan :") for p in amis : s = c[p][1]+c["T"][1]/len(amis)-c[p][0] print(p,"depose" if s>=0 else "prend",abs(s)) return "Fin"