2.3 Types de données mixtes
Objectifs d'apprentissage
À la fin de cette section, vous devriez être capable de :
- Identifier les types de données produits par des opérations avec des entiers, des flottants et des chaînes de caractères.
- Utiliser des opérateurs et des conversions de type pour combiner des entiers, des flottants et des chaînes de caractères.
Combiner des entiers et des flottants
Les programmeurs ont souvent besoin de combiner des nombres de types de données différents. Ex. : Un programme calcule le montant total d'une commande d'achat en ligne :
quantity = int(input())
price = float(input())
total = quantity * price
print(total)
quantity est un entier et price est un flottant. Quel est donc le type de données de total ? Pour les entrées 3 et 5.0, total est un flottant, et le programme affiche 15.0.
La combinaison d'un entier et d'un flottant produit un flottant. Un flottant s'affiche par défaut avec au moins un chiffre après le point décimal et comporte autant de chiffres que nécessaire pour représenter la valeur. Remarque : La division à l'aide de l'opérateur / produit toujours un flottant.
Concepts en pratique
Opérations combinant des entiers et des flottants
Combiner des types numériques et des chaînes de caractères
La facilité de conversion de type en Python peut amener un programmeur à supposer que n'importe quel type de données peut être combiné avec un autre. Ex. : Le programme de Noor lit un nombre depuis l'entrée et l'utilise dans un calcul. Cela entraîne une erreur dans le programme car la fonction input() stocke par défaut le nombre sous forme de chaîne de caractères. Les chaînes de caractères et les types de données numériques sont incompatibles pour l'addition, la soustraction et la division. L'un des opérandes doit être explicitement converti selon que l'objectif est une opération arithmétique ou une concaténation de chaînes.
L'opérateur * sert également d'opérateur de répétition, qui accepte un opérande chaîne de caractères et un opérande entier et répète la chaîne. Ex. : "banjo" * 3 produit "banjobanjobanjo".
Concepts en pratique
Opérations combinant des types numériques et des chaînes de caractères
À vous d'essayer
Après le point
Écrivez un programme qui lit une chaîne de chiffres représentant les chiffres situés après le point décimal d'un nombre, num. Concaténez la chaîne lue avec '.' et num, et affichez le résultat. Ex. : Si l'entrée est 345, le programme affichera 2.345.
À vous d'essayer
Afficher n fois
Écrivez un programme qui lit deux chaînes de caractères, str1 et str2, ainsi qu'un entier, count. Concaténez les deux chaînes en insérant un espace entre elles et un retour à la ligne ("\n") à la fin. Affichez la chaîne résultante count fois.