• Aucun résultat trouvé

Les bases du python Fortement inspiré du site Openclassroom !

N/A
N/A
Protected

Academic year: 2022

Partager "Les bases du python Fortement inspiré du site Openclassroom !"

Copied!
7
0
0

Texte intégral

(1)

Les bases du python

Fortement inspiré du site Openclassroom !

I. Notion de variable

Définition du mot ordinateur d'après "Le Petit Larousse" :

« Machine automatique de traitement de l'information, obéissant à des programmes formés par des suites d'opérations arithmétiques et logiques. »

Qui dit "traitement de l'information", dit donc données à manipuler. Un programme "passe" donc son temps à traiter des données. Pour pouvoir traiter ces données, l'ordinateur doit les ranger dans sa mémoire (RAM - Random Access Memory). La RAM se compose de cases dans lesquelles nous allons ranger ces données (une donnée dans une case). Chaque case a une adresse (ce qui permet au processeur de savoir où sont rangées les données).

Alors, qu'est-ce qu'une variable ? Eh bien, c'est une petite information (une donnée) temporaire que l'on stocke dans une case de la RAM. On dit qu'elle est

"variable" car c'est une valeur qui peut changer pendant le déroulement du programme.

Une variable est constituée de 2 choses :

• Elle a une valeur : c'est la donnée qu'elle stocke (par exemple le nombre 5)

• Elle a un nom : c'est ce qui permet de la reconnaître. Nous n'aurons pas à retenir l'adresse de mémoire, nous allons juste indiquer des noms de variables à la place.

A. Définir une variable

CTRL+C pour copier, CTRL+V pour coller i=12

Grâce à cette ligne, nous avons défini une variable qui porte le nom i et qui «contient» la valeur 12. On ne voit rien, mais i est vaut à présent 12.

B. Fonction pour afficher

CTRL+C pour copier, CTRL+V pour coller

point_de_vie=15 print(point_de_vie)

La fonction print permet d'afficher un texte. Ici il affiche la variable nommée point de vie qui a pour valeur 15.

CTRL+C pour copier, CTRL+V pour coller

print("point_de_vie")

Ajouter des guillemets permet d'afficher le texte et non la variable.

II. Faire des calculs

A. Un peu de calculs

Un ordinateur est bien évidemment capable d'effectuer des opérations mathématiques (arithmétiques).

Les signes utilisés sont classiques : +, - , * (multiplication), / (division), // (division euclidienne) ou encore % (modulo : reste d'une division euclidienne).

Il est tout à fait possible d'effectuer des opérations directement avec des nombres, mais il est aussi possible d'utiliser des variables.

B. Incrémentation d'une variable

CTRL+C pour copier, CTRL+V pour coller

a=11 print(a) a=a+1 print(a)

Ce programme enregistre que la variable a vaut 11, permet d'afficher la variable a donc la valeur 11. Puis il supprime a en le remplaçant par 11+1 soit 12, la variable a vaut donc 12. Le programme affiche ensuite la nouvelle variable a donc 12.

(2)

III. Variables

A. Chaîne de caractères

Les variables peuvent contenir autre chose que des nombres. Elles peuvent aussi contenir des suites de caractères, que l'on appelle "chaîne de caractères".

CTRL+C pour copier, CTRL+V pour coller

maChaine="Bonjour le monde !"

print(maChaine)

B. Les autres types de variables

Les variables peuvent donc contenir des types de données différents, pour l'instant nous en avons vu deux :

• le type "nombre entier" (integer en anglais, abréviation : int)

• le type "chaînes de caractères" (string en anglais) Il existe d'autres types de variables :

• le type «nombre à virgule flottante» : float

• le type «booléen» : bool

• etc.

En Python les variables ont un type, mais le programmeur n'est pas obligé de préciser ce type.

Il existe beaucoup de langage (C++, Java...) où l'utilisateur doit absolument définir le type d'une variable avant de pouvoir l'utiliser, faute de quoi cela entraînera une erreur.

L'instruction "type" vous permet de connaître le type d'une variable.

CTRL+C pour copier, CTRL+V pour coller

a="Salut !"

b=567 c=5.87

print(type(a)) print(type(b)) print(type(c))

La fonction composée print(type(**)) permet d'afficher la classes d'une variable.

C. La concaténation

L'utilisation du signe + ne se limite pas à l'addition. Il est aussi utilisé pour la concaténation.

D'après Wikipédia :

« Le terme concaténation (substantif féminin), du latin cum («avec») et catena(«chaîne, liaison»), désigne l'action de mettre bout à bout au moins deux chaînes. »

Comme vous avez pu le deviner en lisant la définition ci-dessus, la concaténation va concerner les chaînes

CTRL+C pour copier, CTRL+V pour coller

a="Hello"

b="World"

monExpression=a+b print(monExpression)

Il affiche la varible "str" Hello puis à la suite la variable "str" World.

Attention : Si on a une variable a de type string, une variable b de type int et une variable c=a+b.

Dans ce cas précis, le signe + est-il le signe de la concaténation ou de l'addition ? Il est impossible d'additionner deux variables qui n'ont pas la même classe. Pyzo sort une erreur : " TypeError: must be str, not int"

Pour utiliser une variable "str" n’oubliez pas de la chaine de caractère entre guillemets ! Notons que cela fonctionne aussi avec des apostrophes ‘chaine de caractères’, sauf si la chaine de caractères contient elle-même des apostrophes.

IV. Donner la parole à l'utilisateur

L'instruction input va permettre aux utilisateurs d'entrer des données.

(3)

Attention : Si vous utilisez Python 2 à la place de Python 3, vous devrez remplacer l'instruction input par l'instruction raw_input.

CTRL+C pour copier, CTRL+V pour coller

age= input("Quel est votre âge ?")

La variable age va contenir la réponse entrée au clavier par l'utilisateur.

Attention : Les valeurs obtenues grâce à l'instruction input sont forcément de type string. Nous avons donc ici une concaténation et non pas une addition.

L'instruction «int (variable à convertir)» permet de convertir une variable de type string en une variable de type int.

CTRL+C pour copier, CTRL+V pour coller

a= int(b) #(avec b de type string et a de type int)

Écrire un programme permettant de répondre à la question suivante :

Si b n'a strictement rien à voir avec un nombre Le programme affiche une erreur "invalid literal for int() with base 10: '

****' "

V. Les expressions booléennes

Si quelqu'un vous dit que « 4 est égal à 5 », vous lui répondez quoi ? « C'est faux ». Si maintenant la même personne vous dit que « 7 est égal à 7 », vous lui répondrez bien évidemment que « c'est vrai ».

En Python, ces deux « affirmations » (« 4 est égal à 5 » et « 7 est égal à 7 ») s'écriront « 4 == 5 » et « 7 == 7 » (notez bien le double signe égal).

CTRL+C pour copier, CTRL+V pour coller

print(4==5)

Le programme affiche que cette affirmation est fausse : False

CTRL+C pour copier, CTRL+V pour coller

print(7==7)

Le programme affiche que cette affirmation est vraie : True

CTRL+C pour copier, CTRL+V pour coller

a=4 b=7

print(a==b) a=7

print(a==b)

Le programme affiche que l'affirmation "a est strictement égale à b" est fausse : False, puis remplace la variable a par une autre valeur pour que cette affirmation est vraie : True.

ATTENTION : Il ne faut pas confondre l'opérateur d'égalité (==) et l'opérateur d'affectation (=) utilisé pour attribuer une valeur aux variables. La confusion entre ces 2 opérateurs est une erreur classique qui est parfois très difficile à détecter !

CTRL+C pour copier, CTRL+V pour coller

a=4 b=7

print(a!=b) a=7

print(a!=b)

L'opérateur "!=" signifie "contraire" ou "différent de" donc la première affirmation est vraie, et la seconde est fausse.

Notez aussi l'existence des opérateurs :

− «strictement inférieur à » <

− «strictement supérieur à » >

− « inférieur ou égal à » <=

(4)

− « supérieur ou égal à » >=

VI. Les conditions

A. Si....alors....sinon

Nous allons maintenant étudier une structure fondamentale en programmation le « si ... alors...sinon...».

L'idée de base est la suivante :

CTRL+C pour copier, CTRL+V pour coller

si condition:

suite_instruction1 sinon:

suite_instruction2

Si « condition » est True alors « suite_instruction1 » est exécuté et « suite_instruction2 » est ignoré.

Sinon (sous-entendu que « condition » est False) « suite_instruction2 » est exécuté et « suite_instruction1 » est ignoré.

Notez l'utilisation d'un élément nouveau : le décalage de «suite_instruction1» et de « suite_instruction2». Ce décalage est appelé indentation, il permet de rendre le code plus lisible. Dans le cas de l'utilisation d'un si/alors, l'indentation est obligatoire en Python.

CTRL+C pour copier, CTRL+V pour coller

a=4 b=7 if a<b:

print('Je suis toto.') else:

print('Je suis titi.')

Le programme affiche " Je suis toto." ainsi que "Je n'aime pas titi." En effet, 4 est strictement inférieur à 7.

B. Le "ou" et le "et"

Un if peut contenir plusieurs conditions, nous aurons alors une structure de la forme :

CTRL+C pour copier, CTRL+V pour coller

si condition1 op_logique condition2:

suite_instruction1 sinon:

suite_instruction2

« op_logique » étant un opérateur logique.

Nous allons étudier 2 opérateurs logiques : le «ou» (noté en Python or) et le «et» (noté en Python and).

Par exemple (condition1 or condition2) est vrai si condition1 est vraie et condition2 est vraie.

Autre exemple (condition1 and condition2) est faux si condition1 est vraie et condition2 est faux.

Les résultats peuvent être regroupés dans ce que l'on appelle une table de vérité : 1. Table de vérité pour le ou

condition1 condition2 condition1 or condition2

vrai vrai vrai

vrai faux vrai

faux vrai vrai

faux faux faux

2. Table de vérité pour le et

condition1 condition2 condition1 and condition2

vrai vrai vrai

vrai faux faux

faux vrai faux

faux faux faux

Nous aurons l'occasion d'utiliser ces opérateurs logiques très prochainement.

VII. Les boucles

La notion de boucle est fondamentale en informatique. Une boucle permet d'exécuter plusieurs fois des instructions qui ne sont présentes qu'une seule fois dans le code.

(5)

A. While

La structure de la boucle while est la suivante :

CTRL+C pour copier, CTRL+V pour coller

while condition:

instruction1 instruction2 suite programme

Tant que la condition reste vraie, les instructions à l'intérieur du bloc (partie indentée) seront exécutées.

CTRL+C pour copier, CTRL+V pour coller

i=0

while i<10:

print("i vaut :", end='') print(i)

i=i+1

print("C'est terminé.")

N.B. la partie " end='' " à la fin du empêche le retour à la ligne.

Sur V2 "print ("i vaut :")," suffit

Le programme écrit donc les valeurs de 0 à 9 précédée de la mention « i vaut », puis termine par « C’est terminé. »

B. For

La structure de la boucle for est la suivante :

CTRL+C pour copier, CTRL+V pour coller

for variable in séquence:

instruction suite programme

CTRL+C pour copier, CTRL+V pour coller

for i in range(0, 10):

print

(

"i vaut :"

,

end='')

print(i)

print("C'est terminé.")

La fonction range(a, b) renvoie la séquence de nombres entiers a, a+ 1, a+2, …, b-2, et b-1.

Ce programme aura donc exactement le même résultat que le boucle « while » précédente.

VIII. Les listes

Les listes (souvent appelées tableaux dans les autres langages) vont nous permettre de stocker plusieurs valeurs (chaîne, nombre) dans une structure unique :

CTRL+C pour copier, CTRL+V pour coller

maListe1=["pomme","orange","fraise"]

ou

CTRL+C pour copier, CTRL+V pour coller

maListe2=[56,76,45,89]

Pour lire le contenu d'une liste, il suffit d'utiliser un « indice de position » (le 1er élément de la liste a l'indice 0, le deuxième élément a l'indice 1...). On aura : maListe [indice de position].

CTRL+C pour copier, CTRL+V pour coller

maListe=["pomme","orange","fraise"]

print(maListe[1])

On affiche la chaine de caractère : orange

L'indice de position du 1er élément d'une liste est 0 et pas 1 !

Il est possible de connaître la taille d'une liste en utilisant l'instruction len(nomDeLaListe).

CTRL+C pour copier, CTRL+V pour coller

semaine=['lundi','mardi','mercredi','jeudi','vendredi']

(6)

print(len(semaine))

Le programme donne « 5 » le nombre de variables.

Il est possible d'ajouter un élément à une liste (en fin de liste plus précisément) grâce à append. Pour ajouter l'élément b à la fin de la liste L, il faut utiliser une syntaxe un peu particulière : L.append(b)

CTRL+C pour copier, CTRL+V pour coller

semaine=['lundi','mardi','mercredi','jeudi','vendredi']

for jour in semaine:

print(jour)

print("C'est terminé 1") semaine.append('samedi') for jour in semaine:

print(jour)

La première boucle permet d’afficher les jours de lundi à vendredi, la deuxième boucle affiche les jours de lundi à samedi après la modification de la liste. La liste semaine est remplacée par la nouvelle contenant maintenant « samedi » en plus.

IX. Les fonctions

A. Qu'est-ce qu'une fonction en programmation ?

Les fonctions permettent de décomposer un programme complexe en une série de sous-programmes plus simples. De plus, les fonctions sont réutilisables : si nous disposons d'une fonction capable de calculer une racine carrée, par exemple, nous pouvons l'utiliser un peu partout dans notre programme sans avoir à la réécrire à chaque fois.

La notion de fonction en informatique est comparable à la notion de fonction en mathématiques.

Si nous avons y = 3x+2, pour une valeur donnée de x, nous aurons une valeur de y.

Exemple : x=4 donc y= 14 (y = 3.4+2=14, attention ici le point correspond au signe "multiplié").

La fonction en informatique est basée sur la même idée :

Voici la syntaxe employée en Python (quelque soit le langage, le principe est le même) pour définir une fonction :

CTRL+C pour copier, CTRL+V pour coller

def nomDeLaFonction(parametre):

instruction_1 instruction_2

...

return y suite programme

La fonction renverra la valeur contenue dans la variable y.

Codons notre exemple (y=3x+2) en créant une fonction "maFonction" :

CTRL+C pour copier, CTRL+V pour coller

def maFonction(x):

y=3*x+2 return y

B. Comment utiliser une fonction ?

Pour "utiliser" la fonction "maFonction", il suffit d'écrire : maFonction (4) (dans ce cas précis, notre fonction renverra le nombre 14).

CTRL+C pour copier, CTRL+V pour coller

(7)

def maFonction(x):

y=3*x+2 return y

print (maFonction(4))

Il faut savoir qu'au moment de l'exécution de votre programme le code "maFonction(4)" sera systématiquement remplacé par la valeur renvoyée par la fonction (toujours dans notre exemple le "maFonction(4) sera remplacé par le nombre 14). Le programme ci-dessus affichera donc 14.

C. Fonction sans paramètre

Les paramètres ne sont pas obligatoires. Nous pouvons donc avoir :

CTRL+C pour copier, CTRL+V pour coller

def maFon():

if (a=="x"):

y=0 else:

y=1 return y

a=input("Votre choix ") print (maFon())

D. Une fonction qui ne renvoie rien ?

Il faut aussi savoir qu'une fonction ne renvoie pas forcément de valeur (le mot clé return n'est pas obligatoire). Mais si elle ne renvoie pas de valeur, que fait-elle ? Elle peut faire plein de choses, par exemple elle peut tout simplement afficher un texte. Sachez que dans certains langages, on utilise les termes méthode ou procédure pour qualifier une fonction "qui ne renvoie rien".

CTRL+C pour copier, CTRL+V pour coller

def ditBonjour(nom,age):

phrase='Bonjour '+nom+', vous avez '+str(age)+' ans.' ditBonjour('Baptiste',14)

ditBonjour('Ninon',11) ditBonjour('Titouan',7)

X. Petit point sur la syntaxe

Notons que la syntaxe est très importante en python.

- L’oublie d’une indentation (décalage, tabulation) entraine généralement l’échec du programme.

- Les variables et les fonctions ne doivent pas commencer par un chiffre ! Python fait la différence entre les majuscules et les minuscules, ainsi « Nom » est une variable différente de « nom ». Il est possible d’utiliser « _ » pour faire des séparations dans un nom de variable ou de fonction car l’espace « » ne peut être utilisé. Il est toujours préférable de donner des noms de variables facilement compréhensibles par les différents utilisateurs.

- Les commentaires sont des parties du code qui ne sont pas exécutées. Ils sont nécessaires si on veut pouvoir expliquer notre code à d’autres utilisateurs (ou à soit même pour ne pas oublier ce que l’on a voulu faire). Un commentaire en python est mis après un dièse « # ». Ce qui suivra le dièse sur la même ligne sera dans le commentaire.

Références

Documents relatifs

Devoir Surveillé 3 - durée : 1 h 7 décembre 2010 Les documents, la calculatrice, et tout matériel électronique sont interdits.. Le soin, la précision et la qualité de la

Erire un programme C permettant de saisir au lavier un nombre entier stritement

Les nombres supérieurs à N 0min deviennent immédiatement positifs car constitués d’une collection de a i =0, (distance positive car la soustraction des chiffres devient nulle

Q₂ Déterminer le plus petit entier harmonieux qui admet les six premiers nombres premiers 2,3,5,7,11,13 comme facteurs premiers avec d'éventuelles multiplicités.. Q₃ Déterminer

Pour les plus courageux : un entier naturel quelconque peut-il être représenté par la différence de deux nombres puissants.. Solution par

&lt;borne sup) appartenant à un type scalaire discret ordonnée (entier, caractère et scalaire énuméré) Activité: Définir le type mois, le type weekend et le type lettres. Tableau

Une variable de type booléen (ou logique) ne peut prendre que deux valeurs : True (vrai) ou False (faux).. Les principales lois vérifiées par ces opérateurs sont :

Nous allons donc dans ce cours étudier cette gestion de bases de données, mais au lieu d'utiliser des SGBD (système de gestion de bases de données), nous allons préférer gérer