# compare the capital of both and select the base for the calculation for the next# step (capital of the poorest)ifpeople[a]<people[b]:base=people[a]else:base=people[b]
ou simplement
base=min(people[a],people[b])
et je pense que ça peut se passer de commentaire.
On peut aussi alléger la lecture avec des écritures comme :
Enfin comme propose SChauveau pas besoin du random() et pas besoin du +1 pour le nombre d'itérations
#!/usr/bin/env python3fromrandomimportrandintfromstatisticsimportmean,median,pstdevNB_PEOPLE=500AMOUNT_START=2000NB_LOOP=5000000RATE=0.2DRATE=0.05defpays(customer,sellerbase):# no advantage for the poorest as no poorestifseller==customer:customer-=base*RATEseller+=base*RATE# poorest receive the money so add DRATE in the transferelifseller>customer:customer-=base*(RATE+DRATE)seller+=base*(RATE+DRATE)# poorest pay the money so deduct DRATE in the transferelse:customer-=base*(RATE-DRATE)seller+=base*(RATE-DRATE)returnseller,customerpeople=[AMOUNT_START]*NB_PEOPLEfor_inrange(0,NB_LOOP):# select two random peoplea=randint(0,NB_PEOPLE-1)b=randint(0,NB_PEOPLE-1)base=min(people[a],people[b])people[a],people[b]=pays(people[a],people[b],base)# final, show the resultspeople=sorted([int(p)forpinpeople])print(f"Last tranfert base: {base}.")print(f"people: {', '.join(str(p) for p in people)}")print(f"avg: {mean(people)} | median: {median(people)} | pstdev: {pstdev(people)}")
Je me suis permis :
d'arrondir les montants à la fin pour la lisibilité
de trier les données pour la lisibilité encore
d'ajouter un calcul de moyenne, de médiane et d'écart-type
Perso j'observe une explosion des inégalités avec les itérations (mais ça reste au jugé, je n'ai pas fais des masses d'exécutions). Je me demande s'il s'agissait d'appauvrissement en relatif ou absolue. Ici la planche à billet tourne à fond les ballons (il y a 50 fois plus d'argent qu'à l'état initial), mais la progression des patrimoines entre les riches et les pauvres est très... contrastée ?
[^] # Re: Python
Posté par barmic 🦦 . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 3. Dernière modification le 21 juillet 2021 à 00:05.
ou simplement
et je pense que ça peut se passer de commentaire.
On peut aussi alléger la lecture avec des écritures comme :
Ce qui donne :
Et, comme je lis assiduement linuxfr, je change le shebang.
Enfin comme propose SChauveau pas besoin du
random()et pas besoin du +1 pour le nombre d'itérationsJe me suis permis :
Perso j'observe une explosion des inégalités avec les itérations (mais ça reste au jugé, je n'ai pas fais des masses d'exécutions). Je me demande s'il s'agissait d'appauvrissement en relatif ou absolue. Ici la planche à billet tourne à fond les ballons (il y a 50 fois plus d'argent qu'à l'état initial), mais la progression des patrimoines entre les riches et les pauvres est très... contrastée ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll