💻 Tuto 19 : Listes en Compréhension – Coder Plus Vite ✨

Salut, jeune nomade ! Crée des listes comme un alchimiste cyber avec Python ! 🚀

Les listes en compréhension, c’est quoi ?

Yo, prêt à coder comme un ninja cyber ? Dans Tuto 18, t’as créé une aventure textuelle de ouf. Maintenant, on va découvrir les listes en compréhension, une façon super rapide de créer des listes (Tuto 9) en une seule ligne. Chaque compréhension est une formule alchimique qui donne une âme vive à ton code ! 🧪

Pour un hacker éthique, les listes en compréhension sont top : elles permettent de filtrer ou transformer des données vite, comme extraire des ports ouverts d’un scan Nmap. Mais on reste responsable : on code pour apprendre, pas pour causer des soucis !

Astuce Éthique : Tes compréhensions sont comme des potions NarcoShield. Utilise-les pour simplifier, pas pour nuire !

Comment marchent les listes en compréhension ?

Une liste en compréhension remplace une boucle for (Tuto 7) par une syntaxe compacte : [expression for item in iterable]. Tu peux ajouter une condition avec if. Exemple :

ports = [80, 443, 22, 8080]
open_ports = [port for port in ports if port < 1000]
print(open_ports)  # Affiche [80, 443, 22]
squares = [x * x for x in range(1, 5)]
print(squares)  # Affiche [1, 4, 9, 16]
            

Analogie : Une liste en compréhension, c’est comme une potion alchimique. Tu mélanges des ingrédients (données) avec une formule (expression) et un filtre (condition) pour créer une liste magique en un clin d’œil !

Hacking tie-in : Un hacker éthique utilise les compréhensions pour filtrer des données, comme garder les ports valides ou transformer des IPs pour un rapport.

De quoi t’as besoin ?

T’as tout prêt si t’as suivi les tutos précédents :

Si Python ou IDLE coince, check Tuto 1 pour l’installation. Demande à un adulte si besoin !

Astuce : Ouvre IDLE et prépare-toi à brasser des potions cyber !

Créer un programme avec des listes en compréhension, étape par étape

Suis ces étapes pour coder un programme qui utilise des listes en compréhension pour filtrer et transformer des ports scannés. C’est comme concocter une potion cyber pour trier des données !

  1. Ouvre IDLE
    Lance IDLE et clique sur Fichier > Nouveau Fichier pour ouvrir une fenêtre vide, ton nouveau labo d’alchimie cyber.

    Astuce : Vérifie que t’es dans une nouvelle fenêtre, pas l’interpréteur “>>>”.

  2. Écris ton code
    Tape ce code dans la fenêtre :
    def process_ports(ports, name):
        valid_ports = [port for port in ports if 1 <= port <= 65535]
        port_strings = [f"Port {port}" for port in valid_ports]
        return f"{name}, ports valides : {port_strings}"
    
    name = input("C’est quoi ton nom ? ")
    try:
        port_input = input("Entre des ports séparés par des espaces (ex. : 80 443 99999) : ")
        ports = [int(p) for p in port_input.split()]  # Compréhension pour convertir
        if not ports:
            print("Aucun port entré !")
        else:
            result = process_ports(ports, name)
            print(result)
    except ValueError:
        print("Erreur : entre des nombres valides pour les ports !")
                        
    Explication : input() (Tuto 5) demande un nom et des ports. Une compréhension convertit l’entrée en liste de nombres avec .split() (Tuto 12). Un try/except (Tuto 17) gère les erreurs de conversion (ValueError). Une fonction process_ports (Tuto 11) utilise deux compréhensions : une pour filtrer les ports valides (1-65535), une pour formater en chaînes. Une if (Tuto 6) vérifie si la liste est vide.

    Astuce : Respecte l’indentation (4 espaces) après def, try, if, et les crochets [] pour les compréhensions !

  3. Sauvegarde ton programme
    Clique sur Fichier > Enregistrer. Nomme-le “compréhensions.py” et sauve-le dans un dossier (ex. : “Mes Documents”). Note l’emplacement !

    Astuce : Choisis un nom simple sans espaces (ex. : “compréhensions.py”).

  4. Lance ton programme
    Clique sur Exécuter > Exécuter le Module (ou F5). Une fenêtre s’ouvrira, demandant nom et ports. Essaye (ex. : “Jonathan”, “80 443 99999”):
    C’est quoi ton nom ? Jonathan
    Entre des ports séparés par des espaces (ex. : 80 443 99999) : 80 443 99999
    Jonathan, ports valides : ['Port 80', 'Port 443']
                        
    Teste avec une entrée invalide (ex. : “abc”), vide, ou sans ports. Si ça marche, t’as créé une potion cyber ! Si non, passe à “Si ça coince”.

    Astuce : Teste plusieurs combinaisons de ports pour voir le filtrage !

  5. Joue avec ton code
    Change la condition de filtrage (ex. : port < 100) ou le formatage (ex. : f"P:{port}"). Modifie la fonction (ex. : ajouter une compréhension pour les carrés des ports). Ajoute une vérification (ex. : if len(port_input) < 1). Relance (F5) pour tester. Amuse-toi !

    Astuce : Essaye des ports fun, comme 1337 ou 8080 !

Pourquoi c’est important pour le hacking ?

Les listes en compréhension rendent tes programmes rapides et élégants :

Hacking tie-in : Un hacker éthique utilise les compréhensions pour traiter des résultats de Nmap, comme filtrer les ports ouverts ou formater des logs.

Si ça coince : que faire ?

Pas de panique, nomade, les potions alchimiques peuvent foirer ! Voici des astuces :

🎯 Mission 19 : Brasse une potion cyber !

Suis les étapes pour créer un programme qui utilise des listes en compréhension pour traiter des ports. Ouvre un fichier texte (Bloc-notes ou autre, pas Python). Crée un fichier nommé “code19.txt” dans le dossier “CyberForge” (dans toutpartdela/programmation/, créé dans Tuto 1). Écris dedans : “J’ai codé un programme qui demande [tes questions] et affiche [un exemple de résultat].” Exemple : “J’ai codé un programme qui demande nom et ports et affiche Jonathan, ports valides : ['Port 80', 'Port 443'].” C’est ton dix-neuvième trophée de nomade !

Astuce Éthique : Choisis des messages respectueux pour ta potion cyber !

Prêt pour la suite ?

Bravo, t’es un alchimiste cyber des listes en compréhension ! T’as appris à coder des listes vite et bien. Dans le Tuto 20, on va explorer les fonctions avancées pour rendre tes sorts encore plus puissants. Ouvre IDLE, jeune nomade, et continue à coder comme un hacker éthique ! 💖