Introduction
Dans ce laboratoire (lab), vous apprendrez à vérifier si un tuple ne contient que des nombres (entiers et flottants) en Python. Vous commencerez par définir des tuples numériques, en explorant comment créer des tuples contenant des entiers, des flottants ou un mélange des deux. Cela implique de créer un fichier numeric_tuple.py, d'ajouter des définitions de tuples et d'exécuter le script pour observer la sortie.
Le laboratoire vous guidera ensuite à travers l'utilisation de la fonction all() en conjonction avec isinstance() pour vérifier que tous les éléments d'un tuple sont bien numériques. Enfin, vous apprendrez à gérer correctement les tuples vides lors de cette vérification.
Définir des tuples numériques
Dans cette étape, vous apprendrez à définir des tuples ne contenant que des données numériques (entiers et flottants) en Python. Les tuples sont une structure de données fondamentale en Python, similaires aux listes, mais avec une différence clé : ils sont immuables, ce qui signifie que leurs éléments ne peuvent pas être modifiés après leur création. Cette immuabilité les rend utiles pour représenter des collections de données fixes.
Commençons par créer un simple tuple contenant des entiers :
Ouvrez votre éditeur VS Code.
Créez un nouveau fichier nommé
numeric_tuple.pydans le répertoire~/project.## ~/project/numeric_tuple.py my_tuple = (1, 2, 3, 4, 5) print(my_tuple)Enregistrez le fichier.
Ouvrez votre terminal.
Exécutez le script en utilisant la commande
python:python ~/project/numeric_tuple.pyVous devriez voir la sortie suivante :
(1, 2, 3, 4, 5)
Maintenant, créons un tuple contenant des flottants :
Modifiez le fichier
numeric_tuple.pypour inclure des valeurs flottantes :## ~/project/numeric_tuple.py my_tuple = (1.0, 2.5, 3.7, 4.2, 5.9) print(my_tuple)Enregistrez le fichier.
Exécutez le script à nouveau :
python ~/project/numeric_tuple.pyVous devriez voir la sortie suivante :
(1.0, 2.5, 3.7, 4.2, 5.9)
Les tuples peuvent également contenir un mélange d'entiers et de flottants :
Modifiez le fichier
numeric_tuple.pypour inclure à la fois des valeurs entières et flottantes :## ~/project/numeric_tuple.py my_tuple = (1, 2.5, 3, 4.2, 5) print(my_tuple)Enregistrez le fichier.
Exécutez le script :
python ~/project/numeric_tuple.pyVous devriez voir la sortie suivante :
(1, 2.5, 3, 4.2, 5)
En résumé, vous pouvez définir des tuples contenant des données numériques en entourant les nombres (entiers et flottants) de parenthèses () et en les séparant par des virgules.
Utiliser all() avec isinstance()
Dans cette étape, vous apprendrez à utiliser la fonction all() en combinaison avec la fonction isinstance() pour vérifier si tous les éléments d'un tuple sont numériques. Cette technique est utile pour valider les données et vous assurer que votre code fonctionne avec les bons types de valeurs.
Tout d'abord, comprenons ce que font all() et isinstance() :
all(iterable): Cette fonction renvoieTruesi tous les éléments de l'itérable (par exemple, un tuple) sont vrais (ou si l'itérable est vide). Elle renvoieFalsesi au moins un élément est faux.isinstance(object, classinfo): Cette fonction renvoieTruesi l'objectest une instance declassinfo(par exemple,int,float). Sinon, elle renvoieFalse.
Maintenant, créons un script Python pour vérifier si tous les éléments d'un tuple sont des entiers ou des flottants :
Ouvrez votre éditeur VS Code.
Créez un nouveau fichier nommé
check_numeric_tuple.pydans le répertoire~/project.## ~/project/check_numeric_tuple.py def is_numeric_tuple(my_tuple): return all(isinstance(item, (int, float)) for item in my_tuple) tuple1 = (1, 2.5, 3, 4.2, 5) tuple2 = (1, 2, 'a', 4, 5) tuple3 = (1.0, 2.0, 3.0) print(f"Tuple 1 is numeric: {is_numeric_tuple(tuple1)}") print(f"Tuple 2 is numeric: {is_numeric_tuple(tuple2)}") print(f"Tuple 3 is numeric: {is_numeric_tuple(tuple3)}")Dans ce script :
- Nous définissons une fonction
is_numeric_tuplequi prend un tuple en entrée. - À l'intérieur de la fonction, nous utilisons
all()avec une expression génératrice(isinstance(item, (int, float)) for item in my_tuple)pour vérifier si chaqueitemdu tuple est une instance deintou defloat. - Nous testons ensuite la fonction avec trois tuples différents.
- Nous définissons une fonction
Enregistrez le fichier.
Ouvrez votre terminal.
Exécutez le script en utilisant la commande
python:python ~/project/check_numeric_tuple.pyVous devriez voir la sortie suivante :
Tuple 1 is numeric: True Tuple 2 is numeric: False Tuple 3 is numeric: TrueCette sortie montre que
tuple1ettuple3ne contiennent que des valeurs numériques, tandis quetuple2contient une chaîne de caractères, donc il n'est pas considéré comme un tuple numérique.
Cet exemple démontre comment utiliser efficacement all() et isinstance() pour valider le contenu d'un tuple et vous assurer que tous les éléments correspondent à un type de données spécifique.
Gérer les tuples vides
Dans cette étape, vous apprendrez à gérer les tuples vides lors de la vérification des valeurs numériques. Un tuple vide est un tuple sans éléments, représenté par (). Il est important de prendre en compte les tuples vides dans votre code pour éviter les erreurs potentielles et vous assurer que votre programme se comporte comme prévu.
Modifions le script de l'étape précédente pour gérer les tuples vides :
Ouvrez votre éditeur VS Code.
Ouvrez le fichier
check_numeric_tuple.pydans le répertoire~/project.## ~/project/check_numeric_tuple.py def is_numeric_tuple(my_tuple): if not my_tuple: return True ## Un tuple vide est considéré comme numérique return all(isinstance(item, (int, float)) for item in my_tuple) tuple1 = (1, 2.5, 3, 4.2, 5) tuple2 = (1, 2, 'a', 4, 5) tuple3 = (1.0, 2.0, 3.0) tuple4 = () ## Tuple vide print(f"Tuple 1 is numeric: {is_numeric_tuple(tuple1)}") print(f"Tuple 2 is numeric: {is_numeric_tuple(tuple2)}") print(f"Tuple 3 is numeric: {is_numeric_tuple(tuple3)}") print(f"Tuple 4 is numeric: {is_numeric_tuple(tuple4)}")Dans ce script modifié :
- Nous avons ajouté une vérification au début de la fonction
is_numeric_tuple:if not my_tuple: return True. Cela vérifie si le tuple est vide. Si c'est le cas, la fonction renvoieTrue, considérant un tuple vide comme numérique. - Nous avons ajouté un tuple vide
tuple4 = ()pour tester la fonction.
- Nous avons ajouté une vérification au début de la fonction
Enregistrez le fichier.
Ouvrez votre terminal.
Exécutez le script en utilisant la commande
python:python ~/project/check_numeric_tuple.pyVous devriez voir la sortie suivante :
Tuple 1 is numeric: True Tuple 2 is numeric: False Tuple 3 is numeric: True Tuple 4 is numeric: TrueCette sortie montre que le tuple vide
tuple4est maintenant correctement géré et considéré comme un tuple numérique.
Gérer les tuples vides est une bonne pratique pour rendre votre code plus robuste et éviter un comportement inattendu. Dans ce cas, nous avons choisi de considérer un tuple vide comme numérique, mais vous pouvez ajuster la logique en fonction de vos besoins spécifiques.
Résumé
Dans ce laboratoire, la première étape se concentre sur la définition de tuples numériques en Python. Vous avez appris que les tuples sont des structures de données immuables, similaires aux listes, et sont définis à l'aide de parenthèses (). Vous pouvez créer des tuples contenant des entiers, des flottants ou un mélange des deux, en séparant les éléments par des virgules.
Le laboratoire montre ensuite comment vérifier si un tuple ne contient que des nombres en utilisant la fonction all() en conjonction avec isinstance(). (Le contenu est tronqué dans la description originale du laboratoire.)



