fiche mémo : 1.1. Arithmétique et variables.¶
Vincent GODARD - V2- 03/02/2025¶
Cours Introduction à la programmation¶
Département de géographie - L3 - Université de Paris 8¶
Traduction librement (largement) inspirée de : https://www.kaggle.com/code/alexisbcook/arithmetic-and-variables
Sources :
Kaggle : https://www.kaggle.com/learn
Python Tutorial : https://www.w3schools.com/python/default.asp
Cours de Python : https://python.sdv.u-paris.fr/00_avant_propos/
Téléchargement des documents nécessaires :
Dossier compressé à télécharger => (pas utile ici).
Bienvenue au cours d'introduction à la programmation ! Ce cours est pour vous si vous n'avez jamais écrit une seule ligne de code et que vous souhaitez faire de la géomatique sans dépendre des logiciels propriétaires comme ArcGIS et peut-ête apprendre la science des données (Data Science) et l'apprentissage automatique (Machine learning). (Si vous avez de l'expérience en programmation et que vous débutez avec le langage Python, le cours Introduction à Python, à partir du 2.1. est plus adapté pour commencer.)
Dans ce cours, vous apprendrez à utiliser du code pour qu'un ordinateur effectue certaines tâches à votre place. Python est l'un des langages de programmation les plus populaires pour la science des données (Data Science), et c'est le langage que vous apprendrez dans ce cours. Une fois ce cours terminé, vous serez entièrement préparé à passer au cours d'introduction à Python (2.) et, éventuellement, pour suivre le cours d'introduction à l'apprentissage automatique (Machine learning).
Dans ce tutoriel, vous verrez plusieurs exemples de code Python. Vous aurez la possibilité d'écrire votre propre code dans l'exercice.
1. Impression¶¶
L'une des tâches les plus simples (et les plus importantes !) que vous pouvez demander à un ordinateur d'effectuer est d'imprimer un message.
En Python, nous demandons à un ordinateur d'imprimer un message pour nous en écrivant print() et en plaçant le message entre parenthèses et entre guillemets. Ci-dessous, nous demandons à l'ordinateur d'imprimer le message "Vive la géo !".
print("Vive la géo !")
Le code se trouve à l'intérieur de la boîte (appelée cellule de code) et la réponse de l'ordinateur (appelée sortie du code) est affichée sous la boîte. Comme vous pouvez le voir, l'ordinateur a imprimé le message que nous voulions.
## Pourriez-vous imprimer : "Vive la géomatique !" ?
print("")
2. Arithmétique¶¶
Nous pouvons également imprimer la valeur d'une opération arithmétique (comme une addition, une soustraction, une multiplication ou une division).
Par exemple, dans la cellule de code suivante, l'ordinateur additionne 2 à 1, puis imprime le résultat, qui est 3. Notez que contrairement à l'impression de texte, nous n'utilisons pas de guillemets.
print(1 + 2)
## Pourriez-vous imprimer une somme qui fait 10 ?
Nous pouvons également effectuer une soustraction en Python. La cellule de code suivante soustrait 5 de 9 et imprime le résultat, qui est 4.
print(9 - 5)
Vous pouvez réellement faire beaucoup de calculs avec Python ! Consultez le tableau ci-dessous pour quelques exemples.
Exemple de symbole d'opération :
Addition (+) => 1 + 2 = 3
Soustraction (-) => 5 - 4 = 1
Multiplication (*) => 2 * 4 = 8
Division (/) => 6 / 3 = 2
Exposant (**) => 3 ** 2 = 9
## Pourriez-vous imprimer la surface d'un carré qui ferait 100 ?
print()
## 2025 est la première année carrée de ce siècle car 2025 = 45².
## Quelle était la précédente année carrée ?
## Quelle sera la suivante ?
## https://blogs.mediapart.fr/wawa/blog/060125/annee-carree-2025
# La précédente
print()
# La suivante
print()
## Pourriez-vous imprimer la valeur d'un côté d'un carré qui ferait 100 de surface ?
## Cela s'appelle couramment une racine carrée (: ! (square root)
print()
Vous pouvez contrôler l'ordre des opérations dans les calculs longs avec des parenthèses.
## Quel est l'ordre de ce qui suit ?
print(((1 + 3) * (9 - 2) / 2) ** 2)
En général, Python suit la règle PEMDAS (https://www.mathsisfun.com/operation-order-pemdas.html) pour décider de l'ordre des opérations.
3. Commentaires¶¶
Nous utilisons des commentaires pour annoter ce que fait le code. Ils aident les autres à comprendre votre code et peuvent également être utiles si vous n'avez pas regardé votre propre code depuis un certain temps. Jusqu'à présent, le code que nous avons écrit est très court, mais les annotations deviennent plus importantes lorsque vous avez écrit beaucoup de code.
Par exemple, dans la cellule de code suivante, nous multiplions 3 par 2. Nous ajoutons également un commentaire (# Multiplier 3 par 2) au-dessus du code pour décrire ce que fait le code.
## Multiplier 3 par 2
print(3 * 2)
Pour indiquer à Python qu'une ligne est un commentaire (et non du code Python), vous devez écrire un signe dièse (#) comme tout premier caractère.
Une fois que Python voit le signe dièse et reconnaît que la ligne est un commentaire, il est complètement ignoré par l'ordinateur. C'est important, car tout comme l'anglais ou l'hindi (ou toute autre langue !), Python est un langage avec des règles très strictes qui doivent être respectées. Python est cependant plus strict qu'un auditeur humain et se contentera de générer une erreur s'il ne comprend pas le code.
Nous pouvons voir un exemple de cela dans la cellule de code ci-dessous. Python génère une erreur si nous supprimons le signe dièse, car le texte du commentaire n'est pas un code Python valide, il ne peut donc pas être interprété correctement.
## En français
Multiplier 3 par 2
## En anglais peut-être ?
Multiply 3 by 2
4. Variables¶
Jusqu'à présent, vous avez utilisé du code pour effectuer un calcul et imprimer le résultat, et le résultat n'est enregistré nulle part. Cependant, vous pouvez imaginer que vous souhaitiez enregistrer le résultat pour l'utiliser ultérieurement. Pour cela, vous devrez utiliser des variables.
4.1. Création de variables¶¶
La cellule de code suivante crée une variable nommée test_var et lui attribue la valeur que nous obtenons lorsque nous ajoutons 5 à 4.
Nous imprimons ensuite la valeur attribuée à la variable, qui est 9.
# Créez une variable appelée test_var et donnez-lui une valeur de 4+5
test_var = 4 + 5
# Imprimez la valeur de test_var
print(test_var)
En général, pour travailler avec une variable, vous devez commencer par sélectionner le nom que vous souhaitez utiliser. Les noms de variables sont idéalement courts et descriptifs. Ils doivent également satisfaire à plusieurs exigences :
Ils ne peuvent pas contenir d'espaces (par exemple, "test var" n'est pas autorisé)
Ils ne peuvent inclure que des lettres, des chiffres et des traits de soulignement (par exemple, "test_var!" n'est pas autorisé)
Ils doivent commencer par une lettre ou un trait de soulignement (par exemple, "1_var" n'est pas autorisé)
Ensuite, pour créer la variable, vous devez utiliser = pour lui attribuer la valeur que vous souhaitez.
Vous pouvez toujours jeter un œil à la valeur attribuée à la variable en utilisant print() et en mettant le nom de la variable entre parenthèses.
Au fil du temps, vous apprendrez à sélectionner de bons noms pour les variables Python. Il est tout à fait normal que cela ne vous plaise pas maintenant, et la meilleure façon d'apprendre est simplement de visualiser beaucoup de code Python !
4.2. Manipulation des variables¶¶
Vous pouvez toujours modifier la valeur attribuée à une variable en remplaçant la valeur précédente.
Dans la cellule de code ci-dessous, nous modifions la valeur de my_var de 3 à 100.
# Définir la valeur d'une nouvelle variable à 3
my_var = 3
# Imprimer la valeur attribuée à my_var
print(my_var)
# Modifier la valeur de la variable à 100
my_var = 100
# Imprimer la nouvelle valeur attribuée à my_var
print(my_var)
Notez qu'en général, chaque fois que vous définissez une variable dans une cellule de code, toutes les cellules de code qui suivent ont également accès à la variable. Par exemple, nous utilisons la cellule de code suivante pour accéder aux valeurs de my_var (de la cellule de code ci-dessus) et test_var (du début de ce didacticiel).
print(my_var)
print(test_var)
La cellule de code suivante indique à Python d'augmenter la valeur actuelle de my_var de 3.
Pour ce faire, nous devons toujours utiliser my_var = comme avant. Et comme avant, la nouvelle valeur que nous voulons attribuer à la variable se trouve à droite du signe =.
# Augmenter la valeur de 3
my_var = my_var + 3
# Imprimer la valeur attribuée à my_var
print(my_var)
4.3. Utilisation de plusieurs variables¶¶
Il est courant que le code utilise plusieurs variables. Cela est particulièrement utile lorsque nous devons effectuer un long calcul avec plusieurs entrées.
Dans la cellule de code suivante, nous calculons le nombre de secondes dans quatre ans. Ce calcul utilise cinq entrées.
# Créer des variables
num_years = 4
days_per_year = 365
hours_per_day = 24
mins_per_hour = 60
secs_per_min = 60
# Calculer le nombre de secondes contenu dans quatre années
total_secs = secs_per_min * mins_per_hour * hours_per_day * days_per_year * num_years
print(total_secs)
Comme calculé ci-dessus, il y a 126 144 000 secondes dans quatre ans.
Notez qu'il est possible d'effectuer ce calcul sans variables comme 60 * 60 * 24 * 365 * 4, mais il est beaucoup plus difficile de vérifier que le calcul sans variables ne comporte pas d'erreur, car il n'est pas aussi lisible. Lorsque nous utilisons des variables (telles que num_years, days_per_year, etc.), nous pouvons mieux suivre chaque partie du calcul et vérifier et corriger plus facilement les erreurs.
Notez qu'il est particulièrement utile d'utiliser des variables lorsque les valeurs des entrées peuvent changer. Par exemple, disons que nous voulons améliorer légèrement notre estimation en mettant à jour la valeur du nombre de jours dans une année de 365 à 365,25, pour tenir compte des années bissextiles. Nous pouvons alors modifier la valeur attribuée à days_per_year sans modifier aucune des autres variables et refaire le calcul.
# Mise à jour pour inclure les années bissextiles
days_per_year = 365.25
# Calculer le nombre de secondes dans quatre ans
total_secs = secs_per_min * mins_per_hour * hours_per_day * days_per_year * num_years
print(total_secs)
Remarque : vous avez peut-être remarqué le .0 ajouté à la fin du nombre, ce qui peut sembler inutile. Cela est dû au fait que dans le deuxième calcul, nous avons utilisé un nombre avec une partie fractionnaire (365,25), alors que le premier calcul multipliait uniquement des nombres sans partie fractionnaire. Vous en apprendrez plus à ce sujet dans la leçon 3, lorsque nous aborderons les types de données.
2ème exercice¶
Dans un hémisphère terrestre, il y a 90° de latitude.
Dans un degré de latitude, il y a 60’ d'arc.
Dans une minute de longitude, il y a 60’’ d'arc.
Combien y a-t-il de secondes de latitude pour monter de l’équateur au pôle ? Ou quelle est la distance angulaire en secondes de l’équateur au pôle ?
Si la minute de latitude fait 1852m (un mile marin ou nautique, https://fr.wikipedia.org/wiki/Mille_marin) quelle est la distance linéaire de l’équateur au pôle en mètres ?
En kilomètres ?
En miles marins ?
En lieues marines (https://fr.wikipedia.org/wiki/Lieue) ?
# Créer les variables
lat_deg =
lat_min =
lat_sec
# Calculer le nombre de secondes d'arc dans 90° de latitude
total_secs =
print(total_secs)
# Mise à jour pour calculer la distance linéaire en mètres de l’équateur au pôle
mile_marin = 1852
# Calculer le nombre de mètres de l’équateur au pôle
total_metres =
print(total_metres)
# Calculer le nombre de kilomètres de l’équateur au pôle
total_kmetres =
print(total_kmetres)
# Mise à jour pour calculer la distance linéaire en miles marins de l’équateur au pôle
# Calculer le nombre de miles marins de l’équateur au pôle
total_miles_marins =
print(total_miles_marins)
# Mise à jour pour calculer la distance linéaire en lieues marines de l’équateur au pôle
lieue_marine =
# Calculer le nombre de lieues marines de l’équateur au pôle
total_lieues_marines =
print(lieue_marine)
print(total_lieues_marines)
Les coordonnées GPS (https://fr.wikipedia.org/wiki/Global_Positioning_System) sont souvent exprimées en °, ' et " d'arc, coordonnées géographiques ou angulaires dans le système WGS84 (https://fr.wikipedia.org/wiki/WGS_84). La précision est donc à la seconde d'arc, voire, à la fraction de seconde d'arc. Combien mesure environ une seconde d'arc de latitude ?
# Mise à jour pour calculer la distance linéaire en mètres de l’équateur au pôle
mile_marin = 1852
# Calculer le nombre de mètres dans une seconde d'arc
total_metres_par_sec =
print(total_metres_par_sec)
4.4. Débogage¶¶
Lorsque l'on travaille avec des variables, une erreur courante consiste à introduire accidentellement des fautes de frappe. Par exemple, si nous écrivons hours_per_day comme hours_per_dy, Python affichera une erreur avec le message NameError: name 'hours_per_dy' is not defined.
print(hours_per_dy)
Lorsque vous voyez NameError comme ceci, cela indique que vous devez vérifier comment vous avez orthographié la variable à laquelle elle fait référence comme « non définie » ("not defined"). Ensuite, pour corriger l'erreur, il vous suffit de corriger l'orthographe.
print(hours_per_day)