Fiche Récapitulative : Python Débutant
Les fondamentaux, la gestion des erreurs et l'étude de cas du Générateur de Mots de Passe
1. La Règle d'Or en Python : L'Indentation
Contrairement à d'autres langages qui utilisent des accolades {} , Python utilise l'indentation (les espaces au
début de ligne) pour déterminer à quel bloc appartient une instruction.
⚠️ Attention aux erreurs d'indentation !
• Toute instruction à l'intérieur d'une fonction ( def ), d'une boucle ( while , for ) ou d'un bloc de
condition ( if , try ) doit être décalée vers la droite de 4 espaces (ou une touche Tab ).
• Dès qu'une ligne revient tout à gauche (0 espace), Python considère que le bloc précédent est
**terminé**.
2. Les Notions Clés Apprises
Notion Syntaxe & Exemple Description & Rôle
Fonction ( def ) def nom_fonction(): Regroupe un bloc de code réutilisable.
# code... Pour l'exécuter, on l'appelle par son nom :
nom_fonction() .
Boucle Indéfinie ( while ) while True: Répète une action indéfiniment jusqu'à
if valide: break rencontrer un break . Très utile pour
valider des entrées utilisateur.
Gestion d'Erreurs ( try / try: Empêche le programme de planter si
except ) x = int(input()) l'utilisateur saisit du texte au lieu d'un
except ValueError: nombre lors d'une conversion int() .
print("Erreur !")
Boucle Définie ( for ) for i in range(3): Répète un bloc de code un nombre exact
print(i) de fois (ici 3 fois : 0, 1, 2).
Module random import random Permet de piocher au hasard un élément
char = dans une liste ou une chaîne de
[Link](texte) caractères.
f-Strings print(f"Option {n+1} : Permet d'insérer directement des variables
{pass}") et calculs à l'intérieur d'un texte avec des
accolades {} .
3. Étude de Cas Complète : pass_gen.py
Voici le code source final, commenté ligne par ligne pour comprendre le rôle de chaque élément :
import random # Importation du module pour les choix aléatoires
def generer_password():
# Définition des caractères autorisés (lettres, chiffres, symboles)
caracteres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*"
# 1. Boucle de validation de l'entrée utilisateur
while True:
try:
taille = int(input("Longueur des mots de passe voulue : "))
if taille <= 0:
print("Veuillez entrer un nombre supérieur à 0.")
continue # Redemande sans planter
break # Entrée valide ! On sort de la boucle 'while'
except ValueError:
print("Erreur ! Tu dois entrer un chiffre (ex: 12), pas du texte !")
# 2. Génération de 3 propositions de mots de passe
print("
Voici 3 propositions de mots de passe :")
for n in range(3):
password = ""
for i in range(taille):
password = password + [Link](caracteres)
print(f"Option {n+1} : {password}")
# Programme principal
print("--- GENERATEUR DE MOT DE PASSE ---")
generer_password() # Lancement de la fonction
4. Guide d'Autonomisation : Les Erreurs Fréquentes à Éviter
1. SyntaxError: invalid syntax ou NameError
Attention à la casse (majuscules/minuscules) ! Python y est très sensible :
• True et False s'écrivent obligatoirement avec une MJS.
• Une variable taille n'est pas la même chose que Taille .
2. UnboundLocalError: cannot access local variable...
Cette erreur survient lorsqu'on essaie d'utiliser une variable (comme taille ) avant qu'elle n'ait été créée.
Cela signifie souvent que le bloc qui créait la variable a sauté à cause d'une erreur non capturée ou d'une
mauvaise indentation.
3. Le réflexe de Sauvegarde ( Ctrl + S )
Dans Visual Studio Code, tant qu'il y a un petit rond blanc ⚪ à côté du nom du fichier en haut, tes
modifications ne sont pas enregistrées. Pense toujours à faire Ctrl + S avant d'exécuter dans le terminal
!