Vous pouvez créer une simple application de liste de tâches en Python, voici comment.
Python est un langage polyvalent, et même les débutants peuvent concevoir et mettre en œuvre quelque chose de génial avec seulement des connaissances de base. Nous allons examiner le développement d'une simple application de liste de tâches avec Python que vous pourrez réellement utiliser quand vous aurez terminé !
Concepts de base en Python
À présent, vous devriez savoir ce qu'est Python et comment cela fonctionne. Avant de plonger dans le code, nous allons revoir quelques-uns des concepts fondamentaux que nous utiliserons pour cette application de liste de tâches.
Variables et types de données
Une variable est un espace réservé pour stocker des données, tandis qu'un type de donnée définit le type de données qu'une variable peut contenir, comme des nombres, des chaînes de caractères ou des booléens.
Entrée et sortie de l'utilisateur
L'entrée et la sortie des utilisateurs sont au cœur de notre application. Nous voulons que les utilisateurs puissent ajouter et supprimer des tâches et les marquer comme complètes, échouées ou différées.
Listes et manipulation de bases de listes
Nous utiliserons également une structure de données avancée appelée liste pour cette tâche. Les listes ne sont que des collections d'autres types de données. Vous pouvez le voir comme une étagère de bibliothèque, chaque élément étant un des livres sur cette étagère.
Décomposer le code
Nous avons déjà configuré Visual Studio pour Python auparavant, donc cela nous donne une chance de le tester. Nous allons créer un nouveau fichier de projet Python et le stocker quelque part, puis décider quels concepts nous avons besoin pour cette application.
Pour garder les choses simples, nous allons juste utiliser des mots (chaînes) pour définir nos tâches. Nous allons utiliser une liste de chaînes pour suivre ces tâches. En Python, créer une liste est aussi simple que de taper :
tasks = []Cela crée une liste de tâches à laquelle nous pouvons ajouter. L'application que nous développons doit faire trois choses :
- Ajouter une tâche
- Supprimer une tâche
- Montrez-nous toutes les tâches dans la file d'attente
Ajouter une tâche
Maintenant que nous avons une liste de tâches, nous pouvons y ajouter des éléments. Créons une fonction add_task() :
def add_task(task):
tasks.append(task)
print("Task added successfully!")La fonction ajoute la tâche spécifiée et nous informe ensuite que la tâche a été ajoutée avec succès. La confirmation est nécessaire car elle nous informe que la fonction fonctionne.
Supprimer une tâche
Après avoir ajouté une tâche, nous voulons pouvoir la supprimer si elle est terminée. C'est aussi très simple étant donné que les listes sont si puissantes. Ajoutons une nouvelle fonction pour supprimer une tâche :
def remove_task(task):
if task in tasks:
tasks.remove(task)
print("Task removed successfully!")
else:
print("Task not found.")
Le code ci-dessus vous permettra de supprimer une seule tâche une fois que vous aurez entré son nom. S'il trouve la tâche, il la supprimera. Que se passe-t-il si la tâche est mal orthographiée ou si elle n'existe tout simplement pas ? Dans ce cas, le code nous informera que la tâche n'existe pas car il parcourra la liste et échouera à trouver la tâche qu'il recherche.
Afficher la file d'attente des tâches
Maintenant que nous pouvons ajouter et supprimer des tâches, nous devons avoir un moyen d'afficher la liste. Développons une fonction display_tasks() qui s'en chargera pour nous :
def display_tasks():
if tasks:
print("Your to-do list:")
for index, task in enumerate(tasks, start=1):
print(f"{index}. {task}")
else:
print("Your to-do list is empty.")Ce n'est pas un morceau de code trop compliqué à comprendre. La première ligne, "if tasks:", demande à Python de vérifier si la liste des tâches est vide. Si ce n'est pas le cas, nous allons l'itérer à l'aide d'une boucle for.
Les boucles for ont un point de départ et un point d'arrivée définis. Dans cet exemple, nous allons énumérer la liste des tâches pour obtenir le nombre de tâches dans la liste. Ensuite, nous parcourrons chaque entrée et l'imprimerons à l'écran.
Si la liste est vide, nous informerons simplement l'utilisateur que sa liste de choses à faire est vide.
Tester pour voir si nos fonctions fonctionnent
Maintenant que nous avons écrit quelques fonctions, nous devons les tester pour voir si elles fonctionnent. Dans tout code, le test est crucial pour s'assurer que notre code fait ce que nous voulons qu'il fasse. Nous pouvons le faire en utilisant quelques instructions de test :
add_task("Buy groceries")
add_task("Finish homework")
display_tasks()
remove_task("Buy groceries")
display_tasks()Lorsque nous ajoutons cela à la fin de notre code Python, nous devrions obtenir ce résultat :
Maintenant que nous savons que nos fonctions fonctionnent, elles sont encore un peu inutiles car l'utilisateur ne peut pas entrer ses propres tâches. Corrigeons cela.
Nous avons besoin de trois fonctions : une pour saisir des données afin d'ajouter une nouvelle tâche, une pour supprimer une ancienne tâche et une pour afficher la liste des tâches :
Function to take user input for adding a task
def get_task_from_user():
return input("Enter the task: ")
Function to take user input for removing a task
def get_task_to_remove():
return input("Enter the task to remove: ")
Function to take user input for displaying tasks
def get_display_choice():
return input("Enter 'A' to add a task, 'R' to remove a task, or 'D' to display tasks: ").upper()
Chacune de ces fonctions renvoie ce que l'utilisateur saisit à l'écran. Nous pouvons considérer ces fonctions comme des gestionnaires pour collecter des entrées de l'utilisateur et utiliser ces entrées immédiatement pour autre chose. Vous pouvez penser à un "retour" comme ce que vous récupérez de la fonction après l'avoir appelée.
Maintenant, nous voulons afficher un menu afin que l'utilisateur puisse choisir laquelle de ces tâches il souhaite effectuer :
def main():
while True:
choice = get_display_choice()
if choice == 'A':
task = get_task_from_user()
add_task(task)
elif choice == 'R':
task = get_task_to_remove()
remove_task(task)
elif choice == 'D':
display_tasks()
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()Jetons un coup d'œil à ce que cela fait. Lorsque nous exécutons la fonction main(), nous afficherons une liste d'options pour que l'utilisateur puisse entrer (un menu). Le menu invite l'utilisateur à faire un des trois choix, puis effectue la tâche sélectionnée en fonction de ce qu'il entre.
Supposons que l'utilisateur entre A pour ajouter une tâche. Dans ce cas, le programme attendra que l'utilisateur tape quelque chose, prendra cette entrée et l'alimentera à la fonction add_task() que nous avons créée plus tôt pour ajouter une nouvelle tâche ; il en va de même si l'utilisateur tape R comme entrée, sauf que cela exécute la fonction remove_task() sur l'entrée à la place.
S'ils choisissent D, le programme affiche la liste de leurs tâches. S'ils saisissent autre chose, le programme leur indique que l'entrée ne correspond à aucune des options du menu.
Cette fonction principale continuera à s'exécuter indéfiniment car nous l'encapsulons à l'intérieur d'une boucle « while ».
Finalement, la ligne de base appellera la fonction main() lorsque nous dirons au programme de s'exécuter.
Après avoir ajouté ces fonctions, vous pouvez supprimer le code de test :
add_task("Buy groceries")
add_task("Finish homework")
display_tasks()
remove_task("Buy groceries")
display_tasks()Test et itération
Vous pouvez trouver la version finale de ce code, y compris les commentaires, sur mon GitHub si cela vous intéresse. Si vous avez bien suivi, votre sortie devrait ressembler à quelque chose comme ça :
N'hésitez pas à expérimenter en ajoutant et en supprimant des tâches. Félicitations pour avoir terminé votre première liste de tâches fonctionnelle en Python !
Où aller à partir d'ici
Comme vous l'avez probablement remarqué, l'interface de cette application est minimale. Elle a l'air ennuyeuse avec une entrée de terminal ou de console. Si vous souhaitez un défi, vous pouvez essayer de créer une interface graphique pour cette application ou l'élargir pour inclure des fonctionnalités telles que l'édition des tâches. Chacune de ces options peut vous aider à en apprendre un peu plus sur la programmation Python en explorant des concepts plus complexes.
En fonction de ce que vous souhaitez faire avec cette application, vous pouvez ajouter ou modifier des éléments pour la rendre plus utile pour vous. C'est ça la joie de la programmation : vous pouvez prendre une idée simple et la transformer en quelque chose qui vous convient parfaitement.


