Valeur non reconnu

Résolu

Bonjour,

je voudrais de l'aide pour un programme je ne sait pas comment faire pour que la valeur inter soit reconnu dans le programme principale,

from multiprocessing.resource_sharer import stop

from random import randint

n = 0

def menu():

    print("jouer taper 1")

    print("paramètre taper 2")

    print("quitter taper 3")

def paramètre():

    es = int(input("entrer le nombre d'éssai :"))

    inter = int(input("entrer votre intervalle"))

menu()

option=int(input("entrer ce que vous voulais faire :"))

if option==1:

    while ne > 0:

      nj = int(input("choisi le nombre"))

      n = n+1

      if nj == inter:

        print("gagne!avec", n, " essai!")

        ne = 0

      else:

        print("perdu!")

        ne = ne-1

        if nj < inter:

          print("+")

        else:

          print("-")

if option==2:

    paramètre()

if option==3:

    stop

Windows / Chrome 107.0.0.0

9 réponses

  1. Est-ce que tu connais la commande return ?
    Tu n'utilises pas cette valeur dans le code principal.

    0
    1. oui mais je ne vois pas comment faire,

      le bute de mon programme est d'avoir une menu avec jouer; paramètre; quitter

      dans les paramètre pouvoir changer l'intervalle est le nombre d'essai puis retourner au menu et pouvoir jouer avec les valeurs enregistrer en paramètre.

      g modifier un peut le programme mais je n'y arrive tjs pas.

      from multiprocessing.resource_sharer import stop
      
      from random import randint
      
      n = 0
      
      ne=10
      
      inter=100
      
      i=1
      
      option=1
      
      def menu():
      
          print("jouer taper 1")
      
          print("paramètre taper 2")
      
          print("quitter taper 3")
      
      def paramètre():
      
          ne = int(input("entrer le nombre d'éssai :"))
      
          inter = int(input("entrer votre intervalle"))
      
      while i==1:
      
          menu()
      
          option=int(input("entrer ce que vous voulais faire :"))
      
          if option==1:
      
              while ne > 0:
      
                  nj = int(input("choisi le nombre"))
      
                  n = n+1
      
                  if nj == inter:
      
                      print("gagne!avec", n, " essai!")
      
                      ne = 0
      
                      menu()
      
                  else:
      
                      print("perdu!")
      
                      ne = ne-1
      
                      if nj < inter:
      
                          print("+")
      
                      else:
      
                          print("-")
      
          if option==2:
      
              paramètre()
      
      if option==3:
      
          stop
      0
      1. Si tu veux récupérer inter ou autre chose dans le code principal, il faut faire:
            return inter   # et toute autre valeur utile
        Dans la fonction paramêtre.
        et tu fais:
        inter = parametre()
        Ne mets pas de caractère accentué dans les noms. Ça pourrait conduire à des résultats imprévisibles.

        0
        1. sa ne fonctionne pas

          from multiprocessing.resource_sharer import stop

          from random import randint

          n = 0

          es=10

          inter=parametre()

          i=1

          option=1

          def menu():

              print("jouer taper 1")

              print("paramètre taper 2")

              print("quitter taper 3")


           

          def parametre():

              es = int(input("entrer le nombre d'éssai :"))

              inter = int(input("entrer votre intervalle :"))

              return(es)

          while i==1:

              menu()

              option=int(input("entrer ce que vous voulais faire :"))

              if option==1:

                  while es > 0:

                      nj = int(input("choisi le nombre"))

                      n = n+1

                      if nj == inter:

                          print("gagne!avec", n, " essai!")

                          es = 0

                          menu()

                      else:

                          print("perdu!")

                          es = es-1

                          if nj < inter:

                              print("+")

                          else:

                              print("-")

              if option==2:

                  parametre()


           

          0
          1. pourriez vous me le modifier ?

            0
            1. D'abord, tu ne retournes pas inter comme tu le souhaitais.
              Ensuite, tu ne fais pas inter = parametre() dans le code principal.
              Il ne faut pas mélanger les variables locales à une fonction avec les variables globales.

              0
              1. je ne sais pas comment faire

                0
                1. # Fonction paramêtre:
                  def parametre():
                      # code ...
                      return inter
                  # Dans le code principal
                  inter = parametre()

                  0
                  1. sa fonctionne mais ce n'est pas ce que je voulais faire merci bcp de votre aide cela me débloque pour un autre programme

                    si j'ai encore besoin je vous demanderais

                    Merci,

                    bonne soirée.

                    0