Séance 1

variables et opérations

Si certains langages exigent que le type de variable soit préalablement déclaré,  Python autorise des définitions implicites et assure plus de souplesse au code.

a=12

L'instruction précédente crée une variable a entière ( de type integer, int) contenant la valeur 12: Python demande à l'ordinateur de créer une place dans sa mémoire accessible suffisante pour y loger un nombre entier: A cet emplacement, il y pose 12.

a=12.0 

L'instruction précédente crée par contre une variable a de type float , contenant la valeur 12: python allouera plus de mémoire pour cette variable-là. Cette variable pourra prendre des valeurs décimales. (les nombres non décimaux sont a priori inaccessibles,  mais on rajoutera alors une surcouche permettant de contourner la limitation intuitive, et la porte sera alors ouverte au calcul formel: tout se programme?)

a="Ceci est un test"

Ici, a est implicitemment déclaré de type string: a est une chaine de caractères. Tout string est à écrire entre guillements ou entre apostrophes: a='12' a le même résultat.

On notera aussi le statut particulier du signe égal en informatique:

L'égalité informatique est une instruction d'affectation:  a=12 se lit ainsi: la variable a prend la valeur 12, ou la valeur 12 à droite de l'égalité est stockée dans la variable dont le nom est écrit à gauche de l'égalité. 

Evidemment 12=a informatiquement ne signifie rien. 

De même, l'instruction  x=x+1 s'éxécute de la manière suivante: on augmente de 1 le contenu de la varibale x, et le résultat de ce calcul est stocké dans x: par cette manoeuvre, x a été "incrémenté de 1" dit-on. Il ne faut évidemment pas lire x=x+1 comme une égalité mathématique!

Exemples d'utilisation de variables et d'opérations sur ces variables:

A consulter ici!  (ou cliquer sur l'image ci-dessous)

Entrée/Sortie

L'interaction élémentaire avec l'utilisateur se fait avec l'instruction d'affichage:print() et l'instruction d'entrée de texte: input
exemple:
print(12) produit  l'affichage de l'entier 12.
print("Ceci est l'entier 12") affiche le texte entre guillemets.
a=input("Donne moi ton âge") produit un affichage du texte entre gullement: l'ordinateur attend alors un texte tapé au clavier: lorsque l'utilisateur appuye sur la touche 'entrée', ce texte est transféré dans la variable a ( a est alors typée string!!!, a est par défaut une chaine de caractère: seul un transtypage permettra de le manipuler comme nombre: voir ci-après.
Retenir que le type de la variable qui stocke l'input est string: si l'on a besoin de faire du calcul avec, il faudra donc la transtyper!

Transtypage

Nous avons vu précedemment la nécéssité de transformer une variable string en une variable numérique (float ou int):

Voici les fonctions permettant ce transtypage:

a="12" 

b=int(a)

Ici, cette suite d'instruction crée une variable alphanumérique a contenant le texte "12", et on en construit une variable numérique b contenant le nombre entier 12.

L'intruction a=float("12") crée une variable a  de type float contenant 12.0

La suite d'instructions: a="12" et a=int(a) se comprend ainsi: on crée une variable a alphanumérique contenant le texte 12 et ensuite ce texte est converti en un entier qui est transféré dans la variable a implicitemment reconvertie en entier au cours de l'opération: son type change au cours de l'opération!


Exercice .

On désire corriger le programme suivant: on demande l'âge de l'utilisateur et on désire lui renvoyer le double de son âge.

1- Expliquer le "bug".

2- Le corriger.



PrécédentPage 1 sur 3