Calcul numérique

Python permet de faire des calculs complexes.

Utilisation de la console

Toutes ces opérations simples, vous pouvez les faire dans la console de votre éditeur Thonny.

  • tapez une expression après l’invite >>>

  • appuyez sur la touche Retour pour exécuter l’expression

  • vous ne pouvez plus modifier une expression déjà exécutée

  • vous devez ajouter une nouvelle expression et l’exécuter de nouveau

Opérations de base

Vous pouvez additionner deux nombres avec l’opérateur +.

123 + 234
357

Vous pouvez soustraire deux nombres avec l’opérateur -.

123 - 234
-111

Vous pouvez multiplier deux nombres avec l’opérateur *.

123 * 234
28782

Vous pouvez diviser deux nombres avec l’opérateur /.

123 / 234
0.5256410256410257

Division entière et reste

L’opérateur // est pour la division entière.

10 // 3
3

C’est la partie entière de la division à virgule flottante.

10 / 3
3.3333333333333335

L’opérateur modulo % donne le reste de la division entière.
Par exemple 10 divisé par 3 donne 3, avec un reste de 1.

10 % 3
1

Nous pouvons faire le calcul inverse: 3 fois 3 donne 9 plus 1 donne 10.

3 * 3 + 1
10

L’opérateur modulo est souvent utilisé pour voir si un nombre est impair. Si le reste de la division modulo donne 1, le nombre est impaire, s’il donne 0 le nombre est pair.

123 % 2
1

Puissance

L’opérateur de puissance est **.

5 ** 2
25

Dans un octet nous avons 2 à la puissance 8 valeurs différentes.

2 ** 8
256

En Python le calcul en entier n’est pas limité dans sa précision.
Une opération avec des entiers peut donner un nombre avec beaucoup de chiffres.

99 ** 99
369729637649726772657187905628805440595668764281741102430259972423552570455277523421410650010128232727940978889548326540119429996769494359451621570193644014418071060667659301384999779999159200499899

Par contre, la précision avec des nombres à virgule flottante est limitée à 16 chiffres.
Voici le même calcul fait cette fois avec des nombres à virgule flottante.

99. ** 99.
3.697296376497268e+197

Pour calculer la racine, vous pouvez utiliser la relation

\[ \sqrt{a} = a^{0.5} \]

La racine de 2 est

2 ** 0.5
1.4142135623730951

Parenthèses

L’ordre de priorité des opérations est

  • puissance

  • multiplication et division

  • addition et soustraction

Dans l’exemple ci-dessous nous calculons

  • d’abord la puissance (27)

  • ensuite la multiplication (54)

  • et finalement l’addition (55).

1 + 2 * 3 ** 3
55

Les parenthèses nous permettent de changer cet ordre.

Dans l’exemple ci-dessous, nous calculons

  • d’abord la multiplication (6)

  • ensuite la puissance (216)

  • et finalement l’addition (217).

1 + (2 * 3) ** 3
217

Dans exemple suivant nous calculons

  • d’abord l’addition (3)

  • ensuite la puissance (27)

  • et finalement la multiplication (81).

(1 + 2)* 3 ** 3
81

Variables

Une variable est une place en mémoire pour stocker une valeur.

En Python une variable est créée avec une opération d”affectation. Elle a la forme

variable = valeur

Ou plus générale

variable = expression

L’expression est évaluée, et sa valeur est affectée à la variable.
Par exemple 2 + 3 donne 5. La variable a obtient la valeur 5.

a = 2 + 3

Nous pouvons afficher la valeur de la variable a.

a
5

Par la suite, la variable peut être utilisée dans des expressions, tel que

a * 2
10

Une variable peut être réaffectée avec une nouvelle valeur

a = 17
a * 2
34

Nom d’une variable

Le nom d’une variable est sensible à la casse (minuscules/majuscules).
Donc a et A sont deux variables différentes.

A = 33

Les deux variables ont des valeurs différentes.

a, A
(17, 33)

Le nom d’une variable (ou d’une fonction) est composé

  • de lettres (majuscule ou minuscule)

  • du tiret bas _

  • de chiffres (sauf pour le premier caractère)

Sont interdit

  • les mots-clés (if, else, …)

  • tout autre caractère spécial (* + % & $ - / ?)

Correct: a2, _a, speed, pos_x, POS_X

Incorrect:

  • 2var (commence avec un chiffre)

  • if (correspond à un mot-clé)

  • var$2 (contient un caractère spécial)

La fonction print()

La fonction print() permet d’afficher

  • une valeur (nombre ou texte)

  • une variable

  • des objets multiples, séparés par une virgule ,

print(123)        # nombre
print('hello')    # texte
print(a)          # variable
print('a =', a, 'cm')   # texte, variable, texte
123
hello
17
a = 17 cm

Exemple de calcul pour un rectangle

À partir de la longueur a et largeur b d’un rectangle nous pouvons calculer:

  • la surface

  • le périmètre

a = 4
b = 5

print('surface =', a * b)
print('périmètre =', 2 * a + 2 * b)
surface = 20
périmètre = 18

Utilisez la formule de Pythagore pour calculer la diagonale.

\[ c = \sqrt{a^2 + b^2} \]

Pour calculer la racine, utilisez la relation

\[ \sqrt{a} = a^{0.5} \]
print('diagonale =', (a**2 + b**2) ** 0.5)
diagonale = 6.4031242374328485

Maintenant modifiez a et b et refaites les calculs.

Exemple de calcul pour un cercle

À partir du rayon r, calculez la circonférence et la surface d’un cercle.

Rappel:

\[ circ. = 2 \pi r \]
\[ surface = \pi r^2 \]
r = 3.5
pi = 3.141

print('circonférence =', pi * 2 * r)
print('surface =', pi * r ** 2)
circonférence = 21.987000000000002
surface = 38.47725

Maintenant, modifiez le rayon r et refaites les calculs.