Exercices
10 min
Non commencé
Python : Attention aux types de données !
Clara a saisi le programme suivant dans son éditeur Python :
a=input('Entrez la valeur de a : ')
b=input('Entrez la valeur de b : ')
c=5[i]a+3[/i]b
print(c)
Elle exécute ensuite ce programme en entrant 10 comme valeur pour a et 5 comme valeur pour b.
Elle s'attend à obtenir 65 comme résultat.
- Quel est, en réalité, le résultat affiché par le programme ?
Expliquez ce résultat. - Corrigez ce programme afin qu'il affiche le résultat 65 prévu par Clara.
Corrigé
- Lorsque l'on exécute le programme de Clara on obtient '1010101010555' comme résultat.
En effet les valeurs entrées par Clara sont considérées comme étant des chaînes de caractères.
On a donc a='10' et 5_a='1010101010'* (répétition de [i]10 cinq fois) ;
b='5' et 3_b='555'* (répétition de [i]5 trois fois) ;
et 5_a+3_b='1010101010555' (concaténation). Pour que le programme fonctionne comme Clara le souhaiterait, il faut convertir a et b en un type numérique : int ou float.
Par exemple :
a=input('Entrez la valeur de a : ') b=input('Entrez la valeur de b : ') a=int(a) b=int(b) c=5[i]a+3[/i]b print(c)ou plus simplement :
a=int(input('Entrez la valeur de a : ')) b=int(input('Entrez la valeur de b : ')) c=5[i]a+3[/i]b print(c)