Valeurs et types
Dans cette feuille, nous allons utiliser Jupyter comme une calculatrice et introduire quelques concepts sous-jacents : valeurs, opérations, expressions, types.
Expressions et premiers calculs¶
Cliquez sur la cellule suivante puis exécutez-la en appuyant sur les touches Maj+Entrée :
1 + 12Techniquement parlant, votre navigateur web a envoyé le contenu de l’expression 1+1
de la cellule à un noyau (kernel en anglais) qui l’a
exécutée, avant de renvoyer le résultat à afficher. Le noyau
que nous utilisons (Python3) permet de travailler en Python. Il existe des noyaux
pour beaucoup d’autres langages de programmation.
Exécutez la cellule suivante pour calculer la valeur de l’expression :
3 * (1 + 3) + (1 + 4) * (2 + 4)42Modifiez l’expression dans la cellule précédente et exécutez-la de nouveau.
Utilisez la cellule suivante pour calculer la surface d’un rectangle de largeur 25 et de longueur 37 :
### BEGIN SOLUTION
25 * 37
### END SOLUTION925Notion de type¶
Une valeur peut représenter des données de natures très différentes, comme un nombre entier, un nombre réel, un booléen, mais aussi un texte, un relevés de notes, une images, une musique, etc.
Les types en programmation sont essentiels car ils permettent aux ordinateurs de déterminer la nature des informations qu’ils doivent traiter, stocker ou manipuler. Ils définissent les propriétés et les opérations possibles sur les données représentées, et indiquent commment ces données sont stockées en mémoire.
Les types imposent des contraintes qui contribuent à renforcer l’exactitude des données. De plus, les types sont utiles aux développeurs pour raisonner sur la structure des logiciels.
type("Jean")strtype(23)inttype(1.70)floattype(23.0)floattype(True)bool3 * (1 + 3) + (1 + 4) * (2 + 4)42type(3 * (1 + 3) + (1 + 4) * (2 + 4))int42 / 221.0type(42 / 2)float42 / 58.4type(42 / 5)float42.0 / 58.4type(42.0 / 5)float42 % 52type(42 % 5)int1 + 1.02.0type(1 + 1.0)float42 == 6 * 7Truetype(42 == 6 * 7)bool41 == 2 * 21Falsetype(41 == 2 * 21)boolExpressions booléennes¶
Exemples :
TrueTrueFalseFalseregarde() == Videx > 3.142 <= n and n <= 5
1 < 2True2 > 3False1 < 2 and 2 > 3False1 < 2 or 2 > 3TrueEntraînement¶
Type : int, bool, ou float ? Valeur : 7, 9, 11, ou 21 ?
BEGIN SOLUTION
int, 11
END SOLUTION
3 * 2 + 511type(3 * 2 + 5)intType : int, bool, ou float ? Valeur : 12 ou 12.5 ?
BEGIN SOLUTION
int, 12
END SOLUTION
25 / 212.5type(25 / 2)floatType : int, bool, ou float ? Valeur : 6, 7, 6.0000, ou 7.0000?
BEGIN SOLUTION
int, 7.0000
END SOLUTION
3.5 * 27.0type(3.5 * 2)floatType: int, bool, ou float ? Valeur : 5, 4, ou 4.66667 ?
BEGIN SOLUTION
double, 4.66667
END SOLUTION
14.0 / 34.666666666666667type(14.0 / 3)floatType : int, bool, ou float ? Valeur : 3,7,21, true, ou false ?
BEGIN SOLUTION
bool, true
END SOLUTION
3 * 7 == 21Truetype(3 * 7 == 21)boolType : int, bool, double ? Valeur : 21, 25, true, false ?
BEGIN SOLUTION
bool, true
END SOLUTION
(3 * 7 == 21) and (4.2 > 5.3 or 4 * 4 == 8 * 2)Truetype((3 * 7 == 21) and (4.2 > 5.3 or 4 * 4 == 8 * 2))boolType : int, bool, double ? Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, false
END SOLUTION
True and FalseFalsetype(True and False)boolType : int, bool, double ? Valeur : 1, 0, True, False ?
BEGIN SOLUTION
bool, false
END SOLUTION
True or FalseTruetype(True or False)boolType : int, bool, double ? Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, True
END SOLUTION
(False and False) or TrueTruetype((False and False) or True)boolType : int, bool, double ? Valeur : 1, 0, True, False ?
BEGIN SOLUTION
bool, False
END SOLUTION
False and (False or True)Falsetype(False and (False or True))boolConclusion¶
Bravo, vous avez terminé cette première feuille où nous avons exploré les expressions, opérations, valeurs et types. Nous avons également vu les types de base : int, string, etc.
Nous avons notamment vu que Python détermine le type d’une valeur littérale en fonction
de sa syntaxe; ainsi 42 est de type entier (int), tandis que 42. ou 42.0 est
de type réel (float). Nous avons aussi vu que le type d’une valeur détermine la
sémantique des opérations que l’on applique dessus : ainsi 17 / 5 calcule la
division euclidienne des deux entiers, tandis que 17. / 5 calcule leur division comme
nombres réels.
Dans la feuille suivante, vous aborderez quelques fonctions mathématiques préexistantes en python.