Introduction Python — Variables, Types, print(), input()
1. Historique et contexte de Python
Python a été créé par Guido van Rossum en 1989 et publié en 1991. Son nom vient de la série humoristique britannique Monty Python's Flying Circus. L'objectif de Guido était de créer un langage aussi lisible que du pseudocode, que n'importe qui puisse comprendre sans être expert en informatique.
Aujourd'hui en 2026, Python est classé n°1 mondial selon l'indice TIOBE. Il domine en Data Science, Intelligence Artificielle, automatisation, développement web et scripting système.
Les trois forces de Python :
- Syntaxe claire : l'indentation obligatoire force un code bien structuré. Pas d'accolades { } comme en C ou Java.
- Écosystème immense : plus de 300 000 packages sur PyPI. NumPy, Pandas, scikit-learn, TensorFlow...
- Multiplateforme : le même code tourne sans modification sur Windows, Linux, macOS, Raspberry Pi.
2. Installation et environnement
Anaconda est la distribution Python recommandée pour la Data Science. Elle inclut Python 3.11+, Jupyter Notebook, Spyder et 250 bibliothèques scientifiques.
# Vérifier l'installation
python --version # Python 3.11.x ou supérieur
conda --version # conda 23.x ou supérieur
# Lancer Jupyter Notebook
jupyter notebook
3. Variables et types de données fondamentaux
Une variable est un conteneur nommé qui stocke une valeur en mémoire. En Python, le type est inféré automatiquement à l'assignation (typage dynamique).
| Type | Description | Exemple |
|---|---|---|
int | Nombre entier, positif ou négatif | -100, 0, 42, 2026 |
float | Nombre à virgule flottante | 3.14, -0.5, 450.75 |
str | Chaîne de caractères (texte) | "Toliara", 'MUST' |
bool | Valeur logique (True ou False) | True, False |
age = 20 # int
prix_riz = 450.5 # float
ville = "Toliara" # str
est_admis = True # bool
print(type(age)) # <class 'int'>
# Opérateurs arithmétiques
print(10 + 3) # 13 Addition
print(10 - 3) # 7 Soustraction
print(10 * 3) # 30 Multiplication
print(10 / 3) # 3.33 Division réelle
print(10 // 3) # 3 Division entière
print(10 % 3) # 1 Modulo
print(10 ** 2) # 100 Puissance
# Exemple pratique malgache
salaire_ar = 800000
taux_cnaps = 0.01
retenue_cnaps = salaire_ar * taux_cnaps
print(f"Retenue CNAPS : {retenue_cnaps:,.0f} Ar")
4. print() et f-strings
Les f-strings (Python 3.6+) sont la façon moderne et lisible de formater les sorties : on préfixe la chaîne avec f et on met les expressions entre { }.
nom = "Marie"; age = 22
print(f"Bonjour {nom}, tu as {age} ans")
# Formatage des nombres
pi = 3.14159265
print(f"Pi ≈ {pi:.2f}") # Pi ≈ 3.14
print(f"Pi ≈ {pi:.4f}") # Pi ≈ 3.1416
montant = 1500000
print(f"Montant : {montant:,} Ar") # 1,500,000 Ar
5. input() — Lire des données utilisateur
input() retourne toujours une chaîne de caractères (str). Il faut convertir avec int() ou float() si nécessaire.
annee = input("Année : ") donne une str. 2026 - annee provoquera une TypeError. Solution : annee = int(input("Année : ")).
prenom = input("Votre prénom : ")
annee_naissance = int(input("Année de naissance : "))
age = 2026 - annee_naissance
print(f"Bonjour {prenom}, vous avez {age} ans")
# Calculatrice de salaire
salaire_brut = float(input("Salaire brut (Ar) : "))
cnaps = salaire_brut * 0.01
salaire_net = salaire_brut - cnaps
print(f"Retenue CNAPS : {cnaps:,.0f} Ar")
print(f"Salaire net : {salaire_net:,.0f} Ar")
a) Déclarez trois variables : ville="Toliara", population=250000, superficie_km2=9515. Affichez une fiche formatée avec la densité calculée (population/superficie en hab/km², arrondie à 1 décimale).
b) Convertisseur Ariary/Euro : demandez un montant et le sens (1 pour Ar→€, 2 pour €→Ar). Taux : 1€ = 5200 Ar. Affichez arrondi à 2 décimales.
c) Calculatrice de superficie : demandez longueur et largeur en mètres. Affichez en m², hectares (1 ha = 10 000 m²) et ares (1 are = 100 m²).
d) BONUS — Bulletin de paie : demandez le salaire brut. Calculez CNAPS (1%), IRSA estimé (15% après abattement 30%), et le salaire net.
ville = "Toliara"; pop = 250000; sup = 9515
densite = pop / sup
print(f"=== Fiche de {ville} ===")
print(f"Population : {pop:,} habitants")
print(f"Superficie : {sup:,} km²")
print(f"Densité : {densite:.1f} hab/km²")
TAUX_CHANGE = 5200
sens = int(input("Choisir : 1=Ariary vers Euro, 2=Euro vers Ariary : "))
montant = float(input("Montant : "))
if sens == 1:
resultat = montant / TAUX_CHANGE
print(f"{montant:,.0f} Ar = {resultat:.2f} €")
elif sens == 2:
resultat = montant * TAUX_CHANGE
print(f"{montant:.2f} € = {resultat:,.0f} Ar")
else:
print("Choix invalide. Entrez 1 ou 2.")
longueur = float(input("Longueur du terrain (m) : "))
largeur = float(input("Largeur du terrain (m) : "))
superficie_m2 = longueur * largeur
superficie_ha = superficie_m2 / 10000
superficie_a = superficie_m2 / 100
print(f"Superficie : {superficie_m2:,.2f} m²")
print(f" = {superficie_ha:.4f} hectares")
print(f" = {superficie_a:.2f} ares")