Introduction
Dans ce projet, vous allez apprendre à créer un script Python qui imprime tous les dimanches d'une année donnée. C'est une compétence utile pour quiconque doit travailler avec des dates et des tâches liées au temps dans ses projets de programmation.
👀 Aperçu
python Sunday.py 2022
2022-01-02
2022-01-09
2022-01-16
2022-01-23
2022-01-30
2022-02-06
2022-02-13
2022-02-20
...
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment utiliser les modules
datetimeetcalendaren Python pour gérer les dates - Comment écrire une fonction qui calcule et renvoie une liste de tous les dimanches d'une année donnée
- Comment gérer l'entrée utilisateur et les arguments de ligne de commande dans un script Python
- Comment améliorer et personnaliser le script pour le rendre plus flexible et convivial pour l'utilisateur
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre comment travailler avec les dates et l'heure en Python
- Écrire un script qui peut imprimer tous les dimanches d'une année donnée
- Personnaliser le script pour gérer différentes années et l'entrée utilisateur
- Appliquer vos nouvelles connaissances à d'autres tâches liées aux dates dans vos projets de programmation
Créer le fichier Sunday.py
Dans cette étape, vous allez créer le fichier Sunday.py et configurer la structure initiale du script.
- Créez un fichier
Sunday.pydans le répertoire~/project.
cd ~/project
touch Sunday.py
- Ajoutez le code suivant au fichier :
import datetime
import sys
## Fonction pour imprimer tous les dimanches d'une année donnée
def print_sundays(year):
sundays = [] ## Liste pour stocker les dimanches
date = datetime.date(year, 1, 1) ## Commence par le 1er janvier de l'année donnée
delta = datetime.timedelta(days=1) ## Définit un décalage de 1 jour
## Trouvez le premier dimanche de l'année
while date.weekday()!= 6: ## 6 représente dimanche (lundi est 0 et dimanche est 6)
date += delta ## Passez au lendemain
## Affichez tous les dimanches de l'année
while date.year == year: ## Boucle jusqu'à ce que l'année change
sundays.append(
date.strftime("%Y-%m-%d")
) ## Ajoutez le dimanche à la liste (formaté comme AAAA-MM-JJ)
date += datetime.timedelta(
weeks=1
) ## Passez au dimanche suivant (incrémentez de 1 semaine)
return sundays ## Retournez la liste des dimanches
## Lisez l'année à partir de l'argument de ligne de commande
if len(sys.argv) > 1:
year = int(sys.argv[1]) ## Convertissez l'argument de ligne de commande en entier
sundays = print_sundays(year) ## Appelez la fonction pour obtenir la liste des dimanches
for sunday in sundays:
print(sunday) ## Affichez chaque dimanche
else:
print(
"Veuillez fournir une année en tant qu'argument de ligne de commande."
) ## Affichez un message d'erreur si aucune année n'est fournie
Ce code configure la structure de base du script Sunday.py, y compris la fonction print_sundays() et la gestion des arguments de ligne de commande.
Comprendre le code
Dans cette étape, vous allez comprendre le but et la fonctionnalité du code dans le fichier Sunday.py.
- La fonction
print_sundays()prend un paramètreyearet renvoie une liste de tous les dimanches de cette année. - La fonction commence par créer un objet
datetime.dateavec l'yeardonné et le premier jour de l'année (1er janvier). - Elle trouve ensuite le premier dimanche de l'année en parcourant les jours jusqu'à ce que le jour de la semaine soit 6 (dimanche).
- Une fois le premier dimanche trouvé, la fonction entre dans une boucle qui continue jusqu'à la fin de l'année. Dans chaque itération, elle ajoute le dimanche actuel à la liste
sundayset passe au dimanche suivant (en ajoutant un décalage de 1 semaine). - Enfin, la fonction renvoie la liste des dimanches.
- La partie principale du script lit l'année à partir de l'argument de ligne de commande et appelle la fonction
print_sundays()avec l'année fournie. Elle imprime ensuite chaque dimanche de la liste. - Si aucun argument de ligne de commande n'est fourni, le script affiche un message d'erreur.
Exécuter le script
Dans cette étape, vous allez exécuter le script Sunday.py et observer la sortie.
- Ouvrez un terminal et accédez au répertoire
/home/labex/project. - Exécutez le script
Sunday.pyavec une année spécifique en tant qu'argument de ligne de commande :
python Sunday.py 2022
Vous devriez voir la sortie suivante :
2022-01-02
2022-01-09
2022-01-16
2022-01-23
2022-01-30
2022-02-06
2022-02-13
2022-02-20
2022-02-27
2022-03-06
2022-03-13
2022-03-20
2022-03-27
2022-04-03
2022-04-10
2022-04-17
2022-04-24
2022-05-01
2022-05-08
2022-05-15
2022-05-22
2022-05-29
2022-06-05
2022-06-12
2022-06-19
2022-06-26
2022-07-03
2022-07-10
2022-07-17
2022-07-24
2022-07-31
2022-08-07
2022-08-14
2022-08-21
2022-08-28
2022-09-04
2022-09-11
2022-09-18
2022-09-25
2022-10-02
2022-10-09
2022-10-16
2022-10-23
2022-10-30
2022-11-06
2022-11-13
2022-11-20
2022-11-27
2022-12-04
2022-12-11
2022-12-18
2022-12-25
La sortie montre tous les dimanches de l'année 2022.
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.



