☀️
420-1G2-HU Logique de programmation
  • 👋Bienvenue dans le cours de logique de programmation!
  • Bases de la logique de programmation
    • Concepts de la programmation
    • Les opérateurs
      • Exercices
    • Les commentaires
  • Les données
    • Les données et types simples
    • Les variables, les constantes et les opérations de base
    • Les opérations d'écriture et de lecture
    • Les opérations sur les chaînes de caractères
    • Laboratoire 1 - données
    • Laboratoire 2 - données
  • Les collections de données
    • Les listes
    • Les opérations sur les listes
    • Laboratoire listes - solution
    • Les dictionnaires
      • Exercices
  • Différents types de traitements
    • Structures logiques séquentielle
    • Structures logiques conditionnelles (if/else/elif)
    • Structures logiques répétitives (boucles)
      • Exercices de base
      • Laboratoire boucles - solution
  • Modularisation
    • Création et appels des fonctions
    • La documentation des fonctions
    • Annotation de types dans les fonctions
    • Laboratoire - fonctions (niveau débutant)
    • Révision express fonctions
    • Les modules
      • Laboratoire
  • La portée des variables
  • Débogage
    • 🫂Le débogueur, c'est ton ami!
      • Introductions aux outils de débogage
      • Techniques de débogage
    • Les erreurs et exceptions
      • Introduction aux notions d’erreurs
      • Les exceptions et leurs gestion
      • Exercices de base - avec solutions
      • Laboratoire débogage et gestion des erreurs -solution
  • Tests unitaires
    • Tests unitaires
    • Exercice
  • Cryptographie
    • Introduction à la cryptographie
  • Les fichiers
    • Accès aux fichiers
  • Résolution de problèmes
    • Résolution de problèmes : exercice introductif
    • Étapes d'analyse et de résolution de problèmes
  • Activités avec Légos
    • Introduction à la programmation
    • Consolidation sur les fonctions avec des blocs
    • Pratiquer les boucles avec des blocs
  • Laboratoires
    • Simulation combat - dragon vs chevalier
    • Simulateur de bataille - Les anneaux du pouvoir
    • Jeu de cartes
    • Lien logique mathématique
      • Algèbre de Boole
    • Crypto variée
    • Après Noël
  • git - système de gestion de versions
    • Introduction à Git
    • Étapes de création des dépôts Git
  • Classes inversées
    • Résolution de problèmes, fonctions et traitements conditionnels
  • Examens
    • Examen 2 - 2023
    • Examen 3 - 2023
    • Examen 2 - 2024
  • Révision
    • Fonctions, gestion d'erreurs et tests unitaires
    • Résolution de problème
  • Trucs utiles
    • Check-list
Powered by GitBook
On this page
  • Dans les fonctions et le programme principal
  • Exemple
  • Dans les blocs if/elif/else

La portée des variables

Dans les fonctions et le programme principal

  • Une variable créée dans le programme principal est visible dans les fonctions.

  • Une variable créée dans une fonction n'est pas visible.

Exemple

Dans l'exemple suivant, il y a deux boîtes dans un espace de jeux. Les deux fonctions montrent les respectivement les contenus des deux boîtes. Le programme principal représente l'espace de jeux.

def afficher_contenu_boite_1():
    """
    Permet d'afficher le contenu de la boîte 1.
    :return: Aucun
    """
    jeu_boite_1 = "pistolet à eau"

    print("╔═══════════════════════════════════════════╗")
    print(f"║Dans la boîte 1, il y a un {jeu_boite_1}      ║")

    print(f"║Depuis la boîte 1, on peut voir la {jeu_espace_global}   ║")
    print("╚═══════════════════════════════════════════╝")


def afficher_contenu_boite_2():
    """
    Permet d'afficher le contenu de la boîte 2.
    :return:
    """
    jeu_boite_2 = "qaquettes de tennis"

    print("╔═══════════════════════════════════════════╗")
    print(f"║Dans la boîte 2, il y a des {jeu_boite_2}           ║")
    print("╚═══════════════════════════════════════════╝")

    # Tentative d'accès à l'objet dans la boîte 1
    print("Depuis la boîte 2, on peut voir un(e)", jeu_boite_1)
    print("Erreur : On ne peut pas voir l'objet de la boîte 1 depuis la boîte 2!")

if __name__ == "__main__":
    # Imanigez que la partie de programme principal est un espace global de jeux (ex: un bac à sable).
    jeu_espace_global = "Jeux de sable"

    print("Explorons les boîtes...")
    afficher_contenu_boite_1()
    afficher_contenu_boite_2()

    # Essayons de voir les objets dans l'espace de jeux, à l'extérieur des boîtes.
    print(f"Dans l'espace de jeux global, il y a un {jeu_espace_global} et deux boîtes")

    # Tentative d'accès aux objets des boîtes 1 et 2
    print("En dehors des boîtes, on peut voir un ", jeu_boite_1)
    print("En dehors des boîtes, on peut voir des ", jeu_boite_2)

Dans les blocs if/elif/else

if __name__ == "__main__":
    # Une variable globale accessible partout dans la maison
    maison = "Vous êtes dans la maison principale."

    # choix = input("Faites un choix (cuisine ou salon) :")
    choix = 'cuisine'

    if choix == "cuisine":
        # Variable locale dans le bloc if (cuisine)
        objet_cuisine = "réfrigérateur"
        print("Vous êtes dans la cuisine et vous trouvez un :", objet_cuisine)

        # On peut voir l'objet de la cuisine et la maison
        print("Depuis la cuisine, on peut voir :", maison)
    else:
        # Variable locale dans le bloc else (salon)
        objet_salon = "Télécommande"
        print("Vous êtes dans le salon et vous trouvez une :", objet_salon)

        # On peut voir l'objet du salon et la maison
        print("Depuis le salon, on peut voir :", maison)

    # Tentatives d'accès aux objets après les blocs if/else
    print("Après exploration, on peut voir l'objet de la cuisine :", objet_cuisine)
    print("Après exploration, on peut voir l'objet du salon :", objet_salon)
    
    print("Exploration de la maison...")
    print(maison)  # On peut toujours voir la maison
PreviousLaboratoireNextLe débogueur, c'est ton ami!

Last updated 8 months ago