Partage
  • Partager sur Facebook
  • Partager sur Twitter

code secret deux fois france ioi

    5 août 2019 à 22:46:44

    Bonjour,

    Novice dans le domaine du code, je suis perdue sur les fonctions.

    Voici l'énoncé de l'exercice:

    Ce que doit faire votre programme :

    Le mot de passe que vous choisissez est 4242. Écrivez un programme qui attend ce code une première fois, en le demandant de manière répétée par une ligne contenant « Entrez le code : », puis qui une fois ce code entré, affiche « Encore une fois. » et attend le code à nouveau, avant d'afficher « Bravo. » et de se terminer (vous trouverez sans doute cela plus clair avec l'exemple ci-dessous).

    L'objectif de cet exercice est d'utiliser une fonction pour éviter de recopier deux fois les instructions qui permettent d'attendre le code 4242.

    Exemple

    entrée :

    4241
    4342
    4242
    2424
    4242

    sortie :

    Entrez le code :
    Entrez le code :
    Entrez le code :
    Encore une fois.
    Entrez le code :
    Entrez le code :
    Bravo.
    et voici ma réponse:
    def codesecret():
       n=4242
       while nombre!=4242:
          nombre=float(input())
          print("Entrez le code:") 
          if nombre==4242:
             print("Encore une fois.")   
          else nombre==4242:
             print("Bravo")
    Merci pour vos conseils. Si vous avez des cours accessible aux debutant je suis preneuse aussi :) 
    • Partager sur Facebook
    • Partager sur Twitter
      6 août 2019 à 0:23:26

      Bonjour,

      Oui, vous pouvez utiliser le Swinnen, très bien avec des petits exercices. Il est gratuit en plus, pourquoi s'en priver.

      Lisez-le un peu et revenez avec un code un peu plus conventionnel.

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        6 août 2019 à 2:53:21

        D'abord, essaye de placer ton code dans les balises, ce que tu as écrit est illisible, ça devrait donner ceci:

        def codesecret():
           n=4242
           while nombre!=4242:
              nombre=float(input())
              print("Entrez le code:") 
              if nombre==4242:
                 print("Encore une fois.")   
              else nombre==4242:
                 print("Bravo")



        Ton code est incomplet puisqu'il ne contient aucun appel à la fonction définie donc rien ne se lancera;

        La fonction est à reprendre complètement, tant du point de vue de python que de la logique du code. Tu introduis la variable nombre alors qu'elle n'a pas été définie. La variable n ne sert pas. 

        Ton alternative if/else est syntaxiquement fausse et logiquement sans intérêt. En plus, tu ne semble pas avoir bien compris l'énoncé.

        Il peut falloir plusieurs semaines d'apprentissage pour arriver au niveau demandé par l'exo (bon, ça dépend des individus) donc ne te décourage pas. En plus l'exo n'est vraiment pas clair et il y a bien mieux pour découvrir la notion de fonction.

        Question documentation, tu peux toujours aller voir mon cours pour débutants où toutes ces questions régulièrement traitées sur france-ioi sont examinées avec énormément de détail (sauf les entrées avec input qui sont utiles pour que fioi puisse interagir avec ses utilisateurs).

        -
        Edité par PascalOrtiz 6 août 2019 à 2:54:23

        • Partager sur Facebook
        • Partager sur Twitter
          6 août 2019 à 8:02:33

          Bonjour,

          Tu y es presque. C'est vrai que les explications ne sont pas très claires. Ca mérite une petite explication.

          > L'objectif de cet exercice est d'utiliser une fonction pour éviter de recopier deux fois les instructions qui permettent d'attendre le code 4242.

          Donc ton programme doit être composé de deux parties :

          - une fonction qui va demander à l'utilisateur d'entrer le code jusqu'à ce qu'il soit correct (~3-4 lignes)

          - une partie "principale" qui va

          • appeler la fonction
          • afficher "encore une fois"
          • appeler la fonction
          • afficher "bravo"

          Juste pour préciser, les fonctions ont deux intérêts.

          1) ça évite de répéter du code

          2) ça permet de découper un long code (100 lignes, par exemple) en tâches plus petites (5-10 lignes) plus faciles à lire, comprendre et corriger.

          Ici, l'affichage de "encore" et "bravo" ne se répète pas. C'est pour ça qu'il n'y a pas d'intérêt à le mettre dans la fonction.

          -
          Edité par brubru777 6 août 2019 à 8:17:19

          • Partager sur Facebook
          • Partager sur Twitter
            5 avril 2020 à 1:08:59 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


              5 avril 2020 à 1:49:02

              SVP, placez votre code dans les balises, comme expliqué ici. Je regarderai demain votre code.
              • Partager sur Facebook
              • Partager sur Twitter

              code secret deux fois france ioi

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown