Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec fonction

Sujet résolu
    16 janvier 2019 à 18:08:25

    Bonjour,

    J'ai un problème avec le script que je créer, il doit me montrer mon emploi du temps sauf que cette emploi du temps je l'ai séparé en 2 fonction une avec des contrôles et l'autre sans.

    def avec():

        jours = {

        "lundi": "blablablabla"

        ...

     }

    def sans():

        jour = {

        "lundi":"blabla"

        "mardi": "..."

        ...

        }

    a = input("choisir le mode : ") # Et la je suis bloqué, comment demander

    # ...avec le imput de choisir une fonction ou une autre.

    choix = input("choisir le jour : ")

    print(jours[choix])

    Voila merci;
    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2019 à 19:39:00

      Ça sent le problème de conception.

      Je sais pas à quoi correspondent les fonctions avec et sans, mais si elles ne contiennent qu'une structure de données et pas de code comme dans ton extrait, il faut utiliser autre chose.

      Sinon ce que tu veux faire peut être assez basique avec un simple if/else, si tu n'as que deux cas à traiter, c'est parfaitement adapté.

      Après, vu tes autres posts, je me demande quel cours tu suis ?

      • Partager sur Facebook
      • Partager sur Twitter

      Blond, bouclé, toujours le sourire aux lèvres...

        17 janvier 2019 à 17:34:21

        LoupSolitaire a écrit:

        Ça sent le problème de conception.

        Je sais pas à quoi correspondent les fonctions avec et sans, mais si elles ne contiennent qu'une structure de données et pas de code comme dans ton extrait, il faut utiliser autre chose.

        Sinon ce que tu veux faire peut être assez basique avec un simple if/else, si tu n'as que deux cas à traiter, c'est parfaitement adapté.

        Après, vu tes autres posts, je me demande quel cours tu suis ?

        J'ai suivi les cours de openclassroom puis des pdf par ci par la 

        je ne vois pas comment on peut mettre un if et un else



        • Partager sur Facebook
        • Partager sur Twitter
          17 janvier 2019 à 17:53:26

          williamNatfuss a écrit:

          je ne vois pas comment on peut mettre un if et un else

          choix = input("choisir le jour : ")
          
          if choix == "avec":
              avec()
          elif choix == "sans":
              sans()

          Après j'ai toujours pas compris à quoi servent tes fonctions, et vu le print dans l'extrait de code que tu as posté, j'ai l'impression que tu sais pas trop ce que tu fais non plus :euh:

          • Partager sur Facebook
          • Partager sur Twitter

          Blond, bouclé, toujours le sourire aux lèvres...

            17 janvier 2019 à 20:34:11

            LoupSolitaire a écrit:

            williamNatfuss a écrit:

            je ne vois pas comment on peut mettre un if et un else

            choix = input("choisir le jour : ")
            
            if choix == "avec":
                avec()
            elif choix == "sans":
                sans()

            Après j'ai toujours pas compris à quoi servent tes fonctions, et vu le print dans l'extrait de code que tu as posté, j'ai l'impression que tu sais pas trop ce que tu fais non plus :euh:

            Bon la me suis un peut ecarte de mon script de base mais bon ...

            en gros le je veux que il y ait l'emploi du temps et en faire une boucle 

            def a():

                 jours = {

                "lundi": "blablablabla","h":"fffffff\nbbb\ggggg\nbbbbbbbbbb","hd":"hc","o":"i","oo": "m","d": "kdk"}

                choix = input("choisir le jour : ")

                print(jours[choix])

            print(a())

            b = input("voulez vous continuer ? (o/n) : ")

            while b == 'o':

                print(a())

            while b == 'n' :

                print("vous arretez...")

                break

            Je me suis un peut perdu et créer des boucles while je pense pas que se sois la meilleur des idées mais bon.
            La il fait exactement ce que je veux pendant 2 lignes c'est a dire que ça fait ça :
            choisir un jour : ...
            ...
            voulez vous continuer ? (o/n) : ...
            choisir un jour : ...
            ...
            choisir un jour : ...
            ...
            choisir un jour : ...
            ...

             Voila et il ne me demande plus si je veux continuer ou pas. Aide moi svp je suis debutant

            -
            Edité par dot_point 17 janvier 2019 à 20:35:24

            • Partager sur Facebook
            • Partager sur Twitter
              17 janvier 2019 à 21:39:07

              La ligne qui demande si on veut continuer, il faut la mettre dans la boucle, sinon le programme ne va pas la répéter.

              Pas la peine de faire deux boucles, d'ailleurs la deuxième ne va jamais s'exécuter plus d'une fois à cause du break. Au passage, tu n'as pas besoin d'une condition pour sortir (le break) il suffit que b ait une autre valeur que 'o'.
              • Partager sur Facebook
              • Partager sur Twitter

              Blond, bouclé, toujours le sourire aux lèvres...

                18 janvier 2019 à 7:42:10

                Bonjour,

                Merci d'utiliser la mise en forme de code Image

                Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Image de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: python;">Votre code ici</pre>.

                Mauvais titre

                Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

                Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

                De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

                Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

                Pour modifier votre titre, éditez le premier message de votre sujet.

                (titre originel : Problème avec fonction)

                • Partager sur Facebook
                • Partager sur Twitter

                Pas d'aide concernant le code par MP, le forum est là pour ça :)

                Problème avec fonction

                × 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