Introduction, variables et fonctions mathématiques

Bienvenue pour cette introduction à la programmation avec Python. Le but de ce site n'est pas de créer un n-ième cours sur python, mais plutôt d'y mettre l'essentiel pour démarrer et s'en servir aussi comme d'un aide mémoire.

Pour un cours complet fait par des gens compétents, vous pouvez vous plonger dans celui ci par exemple : OpenClassrooms

    1. Les bases
      • print("texte") : Pour afficher quelque chose. C'est tout bête mais si on ne lui demande pas d'afficher... il n'affiche pas !
          • >>> print("Hello World")
          • Hello World
        • Quelques explications : >>> sont la pour signaler que c'est ce que l'on a tapé. La deuxième ligne n'en a pas car c'est le résultat affiché.
        • On a tapé "Hello World" entre guillemets pour expliquer que c'est un texte et non une variable (On va voir les variables après).
      • input("texte") : Pour demander quelque chose à l'utilisateur. Le "texte" est optionnel.
        • Voici un exemple où on demande à l'utilisateur si ça va et on affiche la réponse.
          • >>> print(input("Ça va ?"))
          • Ça irait mieux si j'étais en vacance
        • Remarque : Si le résultat de input() n'est pas mis dans une variable ou affiché avec print(), il est perdu...
      • # blablabla : Tout se qui suit un # n'est pas lu par le programme.
        • Ça peut sembler inutile et pourtant c'est indispensable car un programme doit être annoté pour être compris par les autres et surtout par soi !
        • Si le commentaire fait plusieurs lignes, on peut le mettre entre triple apostrophe: ' ' ' blablabla ' ' '
      1. Les variables
        1. Une variable permet de stocker en mémoire pour pouvoir s'en resservir plus tard.
        2. Pour cela on lui donne un nom qui doit respecter quelques règles comme ne pas commencer par un chiffre, ne pas contenir d'espace (en général on les remplace par le _ ) et ne pas être déjà utilisé par Python (comme par exemple if, for...) .
        3. Il y a de plus bonnes habitudes qu'il vaut mieux prendre de suite sur les noms des variables comme par exemple éviter les majuscules et être explicite. Si toutes les variables s'appellent x, ca sera dure de deviner ce qu'elles contiennent alors que si elle s'appelle liste_courses c'est plus clair...
        • nom = valeur : L'égalité permet de dire ce que l'on met dans la variable nom, le contenu valeur (qui peut être un nombre, un texte, une liste, ...).
              • >>>a=3
              • >>>b=6
              • >>>c=a+b
              • >>>print(c)
              • 9
            • Dans cet exemple, j'ai stocké dans a la valeur 3, dans b la valeur 6, dans c la somme de a et b et j'affiche la valeur de c
        • nom += valeur : Ajoute à la variable nom la valeur.
            • On va très très très souvent avoir besoin d'ajouter à une variable une valeur et la restocker sous le même nom.
            • Par exemple, tous les ans : mon_age=mon_age +1. On peut écrire plus rapidement sous la forme : mon_age+=1.
            • On peut faire pareil avec toutes les opérations : -=, *=, **=, /=, //= (que nous verrons dans la prochaine section).
              • >>> année_bissextile = 2016
              • >>> année_bissextile += 4
              • >>> print(année_bissextile)
              • 2020
            • Remarque : On a dit que print() attendait un "texte" comme argument mais lorsque c'est possible, il traduit automatiquement ce qui peut l'être en texte comme ici le nombre 2020.
      2. Les fonctions mathématiques
        1. Avant toute chose, faisons une remarque sur les nombres en Python. Il y en a de plusieurs sortes, les principales étant les entiers (int en Python) et les flottants c'est à dire les nombres à virgule (float en Python). Python les distingue pour des raisons pratiques de stockage et dans certains cas, il faudra employer le bon type de nombre pour ne pas avoir de terribles messages rouges d'erreur.
        2. Dernière remarque importante sur les nombres en Python : la virgule des nombres à virgule est un point !
          1. >>> 2.5 #C'est le nombre flottant 2,5
          2. >>> 2,5 #Python comprend (2 , 5) c'est à dire le vecteur d'abscisse 2 et d'ordonnée 5
        • Les opérations :
            • + pour l'addition
            • - pour la soustraction
            • * pour la multiplication
            • ** pour la puissance ( 4² se notera donc 4**2)
            • / pour la division "normale" (c'est à dire que 5/2=2.5)
            • // pour le quotient de la division euclidienne (c'est à dire que 5//2 = 2)
            • % pour le reste de la division euclidienne (c'est à dire que 5%2=1)
            • Ces deux dernières opérations sont extrêmement utiles. Par exemple pour savoir si un nombre n est pair il suffit de regarder si n%2 vaut 0.
        • int(X) : Retourne un entier à partir de X.
            • Elle a principalement deux utilités : Retirer la partie décimale d'un nombre à virgule.
              • >>> int(3.14)
              • 3
            • Ou bien plus généralement, traduire X en entier (si c'est possible).
              • >>> int("1234")
              • 1234
            • Dans cet exemple, on a traduit le texte "1234" en l'entier correspondant.
            • On a exactement la même fonction float(X) pour traduire un texte par exemple en flottant.
        • abs(x) : Retourne la valeur absolue de x.
            • Qui n'a pas rêvé de retirer le signe d'un nombre... c'est en tout cas ce que la fonction abs fait.
              • >>>abs(2.5)
              • 2.5
              • >>>abs(-5.2)
              • 5.2
        • round(nombre,nombre_de_décimales) : Arrondit le nombre au nombre_de_décimales donné.
        • max(a,b) et min(a,b) : Donne le maximum (respectivement le minimum) entre a et b.
        • import math : A mettre au tout début pour utiliser les fonctions mathématiques comme le cosinus, la racine carrée etc.
            • Pour utiliser une fonction mathématique, il faudra mettre math. devant :
              • >>> import math
              • >>> math.cos(math.pi/3)
              • 0.5000000000000001
            • Dans cet exemple, on demande de calculer le cosinus de pi/3. On sait que le résultat est 1/2 donc on voit que le calcul est approximatif même si en général, ça reste assez précis pour ce qu'on en fait.
        • from math import * : A mettre au tout début pour utiliser les fonctions mathématiques comme le cosinus, la racine carrée etc. sans avoir besoin de mettre math. devant.
            • A première vue, on a l'impression que c'est mieux que de mettre import math. C'est vrai si on utilise à plusieurs reprises des fonctions mathématiques mais sinon ça remplit la mémoire pour rien, ça peut créer des conflits avec le nom de nos fonctions ou avec d'autres importations qu'on pourrait faire. Bref ce qu'on gagne en rapidité pour écrire, on peut le perdre ailleurs. Ça reste quand même pratique pour taper :
              • >>> cos(pi/3)
              • 0.5000000000000001
              • >>> sqrt(9)
              • 3.0
        • Liste des fonctions mathématiques les plus utiles : On pourra trouver la liste complète ici : Doc Python sur la librairie "math"
          • (Ne pas oublier de mettre math. devant si besoin)
              • sqrt(x) : Donne la racine carrée de x. On peut aussi utiliser x**0.5 pour calculer la racine carrée.
              • cos(x), sin(x), tan(x) : Donne le cosinus, sinus et tangente de x où x est en radians !
              • acos(x), asin(x), atan(x) : Donne l'arccosinus, arcsinus et l'arctangente de x. Le résultat est en radians
              • exp(x), log(x) : Donne l'exponentielle et le logarithme népérien de x. Si on veut le logarithme en base b, il suffit de taper log(x,b).
              • pi : Donne la valeur de pi.
              • e : Donne la valeur de la constante d'Euler e.
              • inf : L'infini ! Plus grand que n'importe quel nombre. Très pratique pour initialiser une variable vouée à chercher un minimum par exemple.
      3. Exercices

Tous les exercices sont maintenant regroupés dans ce recueil : Lien vers le recueil d'exercices