Aller au contenu

Introduction au python

Langage de programmation

L'ordinateur est une machine à suivre des instructions. Cette machine ne fait que suivre des instruction. Il y a deux principaux types d'instruction :

  • accéder à la mémoire de l'ordinateur
  • faire des calculs

L'audio et l'affichage Toutes les interfaces humain-machines sont des zones de mémoire de l'ordinateur. Il accèdes au écrans, aux hauts-parleur et au clavier comme il accède aux fichiers.

Pour faciliter l'écriture de ces instruction, l'humain à créé les langages de programmation. Dans ce cours, nous allons apprendre un de ces langages de programmation : le Python.

Donnée

Un ordinateur est capable de faire différents calculs avec différents types de données :

  • les nombres entiers positifs et négatifs (int)
  • les nombres à virgule positifs et négatifs (float)
  • les booléens qui ont deux valeurs True ou False (bool)
  • les chaînes de caractères (str)

Par exemple, on peut saisir dans la console python :

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Opérations

Opérations mathématiques

Il existe différents types d'opération en python :

Python Valeure optenue Type
15+2 # addition 17 int
15-2 # soustraction 13 int
15*2 # multiplication 30 int
15/2 # division 7.5 float
15//2 # division entière 7 int
15%2 # modulo (reste de la division entière) 1 int
15**2 # puissance 225 int

On peut modifier les priorités entres les opérations avec les parenthèses, car PEMDAS est respecté.

Opérations conditionnelles

Python Valeure optenue Type
15 < 15 # infériorité False bool
15 > 2 # supériorité True bool
15 == 2 # égalité Remarquez le double-égal False bool
15 <= 15 # infériorité ou égalité True bool
15 >= 2 # supériorité ou égalité True bool
15 != 2 # différence True bool

Opérations sur les strings

Python Valeure optenue Type
'Vive la ' + 'SNT !' Concaténation de deux strings 'Vive la SNT !' str
'cou' * 2 Multiplication d'une string strings 'coucou' str

Variables

Une variable est un moyen de nommer un endroit de la memoire dans laquelle on va pouvoir stoquer des donnée de nimporte quel type. En python, une variable doit commencer par une lettre ou un tiret bas et peut contenir des lettres, des chiffres et des tirets bas.

Limites

Il est impossible d'utiliser certains mot clés pour nommer une variable, comme True ou False par exemple.

On lui assigne une valeur grace au signe égal simple.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

On peut faire des opérations avec des variables, et on peut mélanger les variables avec les valeurs brutes:

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Entrée utilisateur

Pour accéder à une entrée utilisateur, on utilise la fonction input(entree_utilisateur: string) -> string

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Conversions entre types

Ici, input renvoies une donée de type str (chaîne de caractère). Pour convertir de la string à l'entier on utilise int(autre_donnee).

Il en existes pour les autres types:

  • str(autre_donnee) pour convertir en chaîne de caractère.
  • float(autre_donnee) pour convertir en nombre à virgule.

Les boucles

Une boucle est un outils qui permet de répéter une action. En python il y a deux types de boucles :

  • Les boucles pour (for)
  • Les boucles tant-que (while)

Boucle for

Cette boucle permet de faire une action un nombre de fois connu à l'avance.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Boucle while

Pour répéter une condition tant qu'une condition est vraie et qu'on ne sais pas combien d'itération cela va prendre.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Conditions

Une instruction conditionnelle permet de faire des actions que si une condition est vraie.

Il existe 3 mots clés :

  • if pause une condition
  • elif (optionnel) pause un autre choix.
  • else (optionnel) s'exécute si la condition est invalide.
###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Fonction

Une fonction est moyen de ne pas répéter du code dans un programme.

Pour la créer, il faut définir la fonction :

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Et pour l'utiliser, il faut faire un appel de fonction :

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

On peut ajouter des argument entre les parenthèses.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Il faut ajouter une valeur à l'argument pour appeller cette fonction.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Une fonction peut renvoyer une données après avoir fait un calcul avec le mot-clé return:

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Bonus

Plus de mathématique

Pour avoir plus de fonctions mathématiques et certaines constantes, on peut utiliser importer le module math (sans s).

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Aléatoire

L'aléatoire en python utilise le module random.

Ici, randint(borne_basse: int, borne_haute: int) -> int permet d'avoir un entier aléatoire.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier