Python est un langage de programmation facile à maîtriser.
Ses avantages sont nombreux :
Pour afficher du texte dans la console on utilise print()
print('Hello world')
Le message à afficher est une chaîne de caractère (le format string
). Elle est donc écrite entre des guillemets (simples ou doubles)
On déclare des variables avec le symbole =
mon_texte = "Bonjour le Monde"
print(mon_texte)
mon_texte = "Rebonjour" + "le Monde"
print(mon_texte)
On peut demander à l'utilisateur de saisir du texte avec input()
prenom = input("Comment t'appelles-tu ? ")
print("Bonjour " + prenom + " !")
La fonction input()
renvoie du texte. Cela peut suprendre au début :
nombre = input("Tape un nombre : ")
double = nombre * 2
print("Le 'double' du nombre saisi est", double)
Pour indiquer à Python que la valeur saisie est un nombre on doit transformer (caster en franglais) le résultat :
int( input() )
pour indiquer un nombre entierfloat( input() )
pour indiquer un nombre décimalnb_entier = int( input("Tape un nombre : ") )
print(nb_entier)
nb_decimal = float( input("Tape un nombre : ") )
print(nb_decimal)
Essayer le code précédent en tapant 3 à chaque fois. Quelle est la différence entre les deux sorties ?
# Saisir le code ci-dessous
# Saisir le code ci-dessous
# Saisir le code ci-dessous
Voici les opérations classiques sur les variables.
# Aucune sortie lors de l'éxécution !!
entier = 4
entier + 5 # addition
entier - 5 # multiplication
entier * 2 # multiplication
entier ** 2 # puissance entière
entier % 3 # reste de la division euclidienne par 3. nb % 2 est pratique pour tester la parité d'un nombre
from math import pow
pow(entier, 3.5) # puissance décimale entier^3.5
entier += 1 # on ajoute 1 à entier et on stocke le résultat dans entier
entier *= 2 # on double entier et on sticke le résultat dans entier
texte = "Salut"
texte[0] # le premier caractère de texte. On compte toujours à partir de 0
texte[-1] # le dernier caractère de texte, l'avant dernier est le -2
len(texte) # le nombre de caractère de texte
texte * 2 # on écrit "SalutSalut"
texte2 = texte + "le Monde !" # Concaténation : on ajoute des textes
Lorsque l'on lance python, l'ordinateur charge un ensemble de fonctions de base que l'on peut utiliser immédiatement :
min(5,8) # la fonction minimum est chargée immédiatement
D'autres fonctions ne le sont pas comme par exemple la fonction racine carré sqrt
:
sqrt(5)
Il faut donc l'importer.
Il existe deux façons d'importer des fonctions :
La seconde méthode est plus "sage" car dans certains cas deux modules peuvent contenir des fonctions ayant le même noms : on risque de s'y perdre.
from math import sqrt # on importe la fonction sqrt du module math
sqrt(5)
from math import * # on importe toutes les fonctions du module math (pas très propre mais efficace...)
cos(5*pi)
import math # on importe le module
math.sqrt(5) # on garde la trace de l'origine de la fonction sqrt : elle vient de math
import numpy as np # on importe le module numpy (calculs de maths plus poussés)
# on lui donne le nom np afin de simplifier la notation
tableau_x = range(10) # on créée nu tableau contenant tous les entiers de 0 à 99
tableau_cos = np.cos(tableau_x) # la fonction cos du module np permet de calculer le "cosinus d'un tableau"
# En fait elle calcule le cosinus de chaque nombre dans le tableau
tableau_cos
if ... elif ... else
¶Il est très courant en programmation de devoir tester des valeurs. Pour ce faire on utilise un if
a = 10
if a > 9 :
print("a est plus grand que 9")
Pour gérer plusieurs cas de figure on utilise des if ... elif ... else
a = 10
if a > 20 :
print("a est supérieur à 20")
elif a > 11 :
print(" a est compris entre 11 et 20")
else :
print("a est plus petit que 11")
# Saisir le code ci-dessous
# Saisir le code ci-dessous
while
¶Les boucles Tant que se codent avec while
On rappelle que ces boucles s'utilisent lorsque l'on souhaite répéter des actions jusqu'à ce qu'une certaine condition soit atteinte. On ne sait pas obligatoirement le nombre de répétition que l'on doit effectuer.
Considérons l'exemple suivant :
A partir de combien de cubes la hauteur totale dépassera $1$ m = $10$ dm ?
On va utiliser une boucle while
et ajouter dès cubes tant que on n'aura pas atteint la hauteur souhaitée :
hauteur = 0
nb_cube = 0
while hauteur < 10 :
nb_cube += 1 # on passe au cube suivant qui mesurera 1/nb_cube
hauteur += 1/nb_cube
print("Il faut", nb_cube, "cubes pour dépasser 1 mètre !")
Exercice :
Saisir ci-dessous le code reprenant l'exemple précédant mais en considérant que les cubes sont de hauteur $1$, $\frac{1}{2}$, $\frac{1}{4}$, $\frac{1}{6}$...
On s'arrêtera lorsque l'on dépasse $0.5$ m = $5$ dm
# Saisir le code ci-dessous
# Saisir le code ci-dessous
from random import randint # on import la fonction randint (random integer)
hasard = randint(0,20) # on stocke dans hasard un nombre entier aléatoire entre 0 et 20
for
¶Les boucles Pour se codent avec for
Contrairement aux boucles Tant que les Pour répètent certaines actions un nombre de fois connu à l'avance.
Il existe plusieurs façons de saisir une boucle Pour
# On ne saisit qu'un nombre dans range -> i prend les valeurs de 0 jusqu'à ce nombre -1
# Il y a donc autant de répétitions qu'indiqué dans le range
for i in range(5) :
print(i)
# On saisit deux nombres (start et end) dans range -> i prend les valeurs de start jusqu'à end -1
for i in range(1, 5) :
print(i)
# On saisit trois nombres (start, end et step) dans range -> i prend les valeurs de start jusqu'à end -1
# en avançant de step unités à chaque fois
for i in range(1, 5, 2) :
print(i)
Cette dernière technique permet de parcourir des listes à l'envers (avec un pas/step négatif) :
for i in range(5, 0, -1):
print(i)
Python permet de parcourir des listes facilement à l'aide de for
:
liste = ["Bonjour", "je", "suis", "une", "liste"]
# Parcours classique à l'aide de l'index
for i in range( len(liste) ) : # len(liste) renvoie la longueur de la liste. i ira de 0 jusqu'à longueur -1
print( liste[i] ) # liste[i] est le i-ième élément de liste
# Parcours simple, spécifique à Python
for mot in liste : # on prend successivement tous les éléments de liste et on les appelle mot dans la boucle
print(mot)
# Saisir le code ci-dessous
# Saisir le code ci-dessous
Exercice :
*
**
***
****
*****
# Saisir le code ci-dessous
Exercice :
*****
****
***
**
*
# Saisir le code ci-dessous
# Saisir le code ci-dessous