Types de données mixtes

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.

Faites le point

Opérations combinant des entiers et des flottants

Concepts en pratique

Opérations combinant des entiers et des flottants

1.
8 * 0.25
  1. 2
  2. 2.0
2.
2 * 9
  1. 18
  2. 18.0
3.
20 / 2
  1. 10
  2. 10.0
4.
7 / 2
  1. 3.0
  2. 3.5
5.
12.0 / 4
  1. 3
  2. 3.0
6.
8 - 1.0
  1. 7.0
  2. 7
7.
5 - 0.25
  1. 4.5
  2. 4.75

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".

Faites le point

Additionner une chaîne de caractères et un entier

Concepts en pratique

Opérations combinant des types numériques et des chaînes de caractères

8.
int('34') + 56
  1. '3456'
  2. 90
  3. '90'
9.
str(12) + ' red roses'
  1. '12 red roses'
  2. '12'
  3. Error
10.
'50' * 3
  1. '150'
  2. 150
  3. '505050'
11.
str(5.2) + 7
  1. 12.2
  2. '12.2'
  3. Error
12.
80.0 + int('100')
  1. 180
  2. 180.0
  3. '180'
13.
str(3.14) + '159'
  1. 162.14
  2. '3.14159'
  3. Error
14.
2.0 * 'this'
  1. 'this'
  2. 'thisthis'
  3. Error

À 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.