On va se simplifier la vie pour l'année prochaine : on enregistre et on charge le résultat du tirage dans un fichier JSON ! :)
This commit is contained in:
parent
e84a57dad0
commit
cd673302eb
1 changed files with 23 additions and 12 deletions
35
tirkdo.py
35
tirkdo.py
|
@ -1,7 +1,11 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
import json
|
||||||
import random
|
import random
|
||||||
|
import sys
|
||||||
|
|
||||||
|
annee = datetime.date.today().year
|
||||||
participants = [
|
participants = [
|
||||||
'Maman',
|
'Maman',
|
||||||
'Papa',
|
'Papa',
|
||||||
|
@ -21,17 +25,16 @@ on_evite = {
|
||||||
'Didi': 'Johnny',
|
'Didi': 'Johnny',
|
||||||
}
|
}
|
||||||
|
|
||||||
annee_passee = {
|
# On charge le résultat de l'année dernière
|
||||||
'Nico': 'Ben',
|
nom_fichier = sys.argv[1] if len(sys.argv) > 1 else f"{annee-1}.json"
|
||||||
'Didi': 'Nico',
|
try:
|
||||||
'Mémé': 'Papa',
|
with open(nom_fichier, "r", encoding="utf-8") as fd:
|
||||||
'Maman': 'Mémé',
|
annee_passee = json.load(fd)
|
||||||
'Charlotte': 'Ludo',
|
print(f"Résultat de l'an passée chargé depuis le fichier {nom_fichier} :")
|
||||||
'Johnny': 'Charlotte',
|
print("\n".join([f"- {offre} => {recois}" for offre, recois in annee_passee.items()]))
|
||||||
'Papa': 'Didi',
|
except FileNotFoundError:
|
||||||
'Ludo': 'Maman',
|
print(f"Échec de chargement du tirage de l'an passé depuis le fichier {nom_fichier}.")
|
||||||
'Ben': 'Johnny',
|
sys.exit(1)
|
||||||
}
|
|
||||||
|
|
||||||
class EchecTirage(Exception):
|
class EchecTirage(Exception):
|
||||||
pass
|
pass
|
||||||
|
@ -69,6 +72,7 @@ def tirage(nb_tentatives_max=99):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
# On procède au tirage
|
# On procède au tirage
|
||||||
|
print("On procède au tirage... Suspense !")
|
||||||
result = None
|
result = None
|
||||||
while not result:
|
while not result:
|
||||||
try:
|
try:
|
||||||
|
@ -77,6 +81,13 @@ while not result:
|
||||||
print("Échec du tirage, on recommence !")
|
print("Échec du tirage, on recommence !")
|
||||||
result = None
|
result = None
|
||||||
|
|
||||||
print("Résultat du tirage :")
|
# On affiche le résultat
|
||||||
|
print("Résultat du tirage pour l'année {annee} :")
|
||||||
for offre, recois in result.items():
|
for offre, recois in result.items():
|
||||||
print(f" - {offre} -> {recois}")
|
print(f" - {offre} -> {recois}")
|
||||||
|
|
||||||
|
# On enregistre le tirage pour l'année passée
|
||||||
|
nom_fichier = f"{annee}.json"
|
||||||
|
with open(nom_fichier, "w", encoding="utf-8") as fichier:
|
||||||
|
fichier.write(json.dumps(result, indent=2, ensure_ascii=False))
|
||||||
|
print(f"Résultat enregistré dans le fichier {nom_fichier}.")
|
||||||
|
|
Loading…
Reference in a new issue