Aller au contenu principal

Projet 3

Objectifs

Structurer un code en fonctions.

Prérequis

Les deux premiers niveaux de votre jeu doit être jouable.

Si ce n'est pas le cas, terminer le Projet 2 avant de continuer.

Fonction

  • Créer un nouveau fichier exemple.py dans /1m/informatique/projet de votre OneDrive.
    • Ouvrir l'application Thonny
    • Cliquer sur pour enregistrer le fichier.
      • Nommer le fichier exemple.py.
      • Enregistrer le fichier dans le dossier /1m/informatique/projet de votre OneDrive (déjà existant).
  • Copier le code suivant dans le fichier exemple.py :
    print("Vous décidez de faire du rangement dans votre maison. Par où commencer ?")
    print("- c : La cave")
    print("- g : Le grenier")
    choix = input("Choix (c/g): ")
    if choix == "c":
    print("Vous êtes à la cave. Que voulez-vous faire ?")
    print("- d : Dépoussiérer")
    print("- t : Trier les affaires")
    choix = input("Choix (d/t): ")
    if choix == "d":
    print("Vous dépoussiérez la cave.")
    elif choix == "t":
    print("Vous triez les objets de la cave.")
    else:
    print("Vous ne savez pas quoi faire.")
    elif choix == "g":
    print("Vous montez au grenier.")
    else:
    print("Vous ne savez pas quoi faire.")
  • Dessiner l'organigramme de l'histoire de l'exemple.
    Solution
  • Mettre tout notre code dans une fonction rangement() (ne pas oublier d'indenter le code avec TAB) et appeler la fonction rangement tout à la fin du fichier :
def rangement():
print("Vous décidez de faire du rangement dans votre maison. Par où commencer ?")
print("- c : La cave")
print("- g : Le grenier")
choix = input("Choix (c/g): ")
if choix == "c":
print("Vous êtes à la cave. Que voulez-vous faire ?")
print("- d : Dépoussiérer")
print("- t : Trier les affaires")
choix = input("Choix (d/t): ")
if choix == "d":
print("Vous dépoussiérez la cave.")
elif choix == "t":
print("Vous triez les objets de la cave.")
else:
print("Vous ne savez pas quoi faire.")
elif choix == "g":
print("Vous montez au grenier.")
else:
print("Vous ne savez pas quoi faire.")

rangement()
  • Exécuter le code en cliquant sur le bouton ou en appuyant sur la touche F5.
  • Est-ce que l'appel à la fonction rangement() est-il nécessaire ? Essayer de l'enlever et de relancer le programme pour voir ce qui se passe (le remettre après).
  • Mettre la partie concernant le grenier dans une fonction.
    • Créer une fonction grenier() juste avant l'appel de la fonction rangement() (à la ligne 21).
      def grenier():
    • Copier le code du grenier (ligne 18) dans la fonction.
      def grenier():
      print("Vous montez au grenier.")
    • Remplacer le code du grenier copié précédemment (ligne 18) par l'appel de la fonction.
          ...
      elif choix == "g":
      grenier()
      else:
      ...
    • Exécuter le code pour vérifier que tout fonctionne correctement.
  • Mettre la partie concernant la cave dans une fonction.
    • Commencer par créer une fonction cave() juste avant l'appel de la fonction rangement() (tout à la fin).
      def cave():
    • Copier le code de la cave (lignes 7-16) dans la fonction.
      def cave():
      print("Vous êtes à la cave. Que voulez-vous faire ?")
      print("- d : Dépoussiérer")
      print("- t : Trier les affaires")
      choix = input("Choix (d/t): ")
      if choix == "d":
      print("Vous dépoussiérez la cave.")
      elif choix == "t":
      print("Vous triez les objets de la cave.")
      else:
      print("Vous ne savez pas quoi faire.")
    • Remplacer le code copié (lignes 7-16) par l'appel à la fonction cave().
          ...
      if choix == "c":
      cave()
      elif choix == "g":
      grenier()
      else:
      ...
  • Mettre la partie print("Vous ne savez pas quoi faire.") dans une fonction inconnu.
    • Créer une fonction inconnu à la suite de la fonction cave.
    • Copier le code pour l'inconnu dans la fonction.
    • Remplacer le code copié par l'appel à la fonction inconnu.
Résultat final
def rangement():
print("Vous décidez de faire du rangement dans votre maison. Par où commencer ?")
print("- c : La cave")
print("- g : Le grenier")
choix = input("Choix (c/g): ")
if choix == "c":
cave()
elif choix == "g":
grenier()
else:
inconnu()

def cave():
print("Vous êtes à la cave. Que voulez-vous faire ?")
print("- d : Dépoussiérer")
print("- t : Trier les affaires")
choix = input("Choix (d/t): ")
if choix == "d":
print("Vous dépoussiérez la cave.")
elif choix == "t":
print("Vous triez les objets de la cave.")
else:
inconnu()

def grenier():
print("Vous montez au grenier.")

def inconnu():
print("Vous ne savez pas quoi faire.")

rangement()

Votre jeu

  • Structurer votre jeu en fonctions de la même manière que l'exemple.
    • Faire une copie de votre fichier prenom-nom-projet.py avant de commencer.

Journal de bord

  • Compléter le journal de bord de votre projet :
    • Ajouter une section qui concerne ce que vous avez fait aujourd'hui.
    • Indiquer la date.
    • Décrire ce que vous avez fait.
    • Décrire les problèmes rencontrés et les solutions trouvées.

Références