Partage
  • Partager sur Facebook
  • Partager sur Twitter

URGENT convertire listeEntier en nombre entier pro

prob concatenation deux entier

Sujet résolu
    24 janvier 2015 à 10:11:50

    bonjour

    voici la consigne:

    ·Une procédure d’affichage prenant en paramètre une liste d’entiers et qui réalise l’affichage de cette liste sous forme de nombres.

    autrement dit soit la liste [1,2,3,4] afficher 1234 a une seule place pour moi 2 soltution: 1 soit transformer en chaine de caractere et concatener

    2 soit parcourire la liste et concatener ses valeurs

    voici le 1er code concatenation de liste transformer en str chaine dans la fonction affichageEntier

    __author__ = 'NICOLAS'
    
    
    a,b,c = 0,0,0
    def fonct0 (nbreCoulExis = 6 ,lgSuiteDevi = 4, nbreEssai = 9):
    
        print("veuillez entrer un nombre de couleurs existante ne depassant pas 9\n")
    
        nbreCoulExis = eval(input())
        while nbreCoulExis > 9:
            nbreCoulExis = eval(input())
    
    
        print("veuillez entrer la longueur de la suite ne depassant pas 9\n")
        lgSuiteDevi = eval(input())
        while lgSuiteDevi > 9 or lgSuiteDevi < 0:
            lgSuiteDevi = eval(input())
    
        print("veuillez entrer le nombre d'essais")
        nbreEssai = eval(input())
    
    
        return nbreCoulExis , lgSuiteDevi, nbreEssai
    
    
    
    def Initialisation(nbreCoulExis,lgSuiteDevi):
    
        import random
        listeCoulAlea = []
    
        while lgSuiteDevi != 0:
            valeurAlea = random.randint(1,nbreCoulExis)
            listeCoulAlea.append(valeurAlea)
            lgSuiteDevi -= 1
    
        print(listeCoulAlea)
        return listeCoulAlea
    
    
    print("bonjour bienvenue ds mastermind\n")
    
    
    
    def affichageEntier(listeEntier):
    
        chaineEntier = []
        str(listeEntier)
        str(chaineEntier)
        chaineEntier = chaineEntier + listeEntier
    
    
        return chaineEntier
    
    a,b,c =fonct0()
    
    print(affichageEntier(Initialisation(a,b)))

    bonjour bienvenue ds mastermind

    veuillez entrer un nombre de couleurs existante ne depassant pas 9

    8

    veuillez entrer la longueur de la suite ne depassant pas 9

    4

    veuillez entrer le nombre d'essais

    15

    [4, 3, 7, 1]

    [4, 3, 7, 1] ICi affichageEntier

    2 eme code de affichageEntier a remplacer par le 1er

    def affichageEntier(listeEntier):
    
    
        nbre = 0
    
        for x in listeEntier:
            nbre += x
    
    
        return nbre
    
    a,b,c =fonct0()
    
    print(affichageEntier(Initialisation(a,b)))

    resultat

    bonjour bienvenue ds mastermind

    veuillez entrer un nombre de couleurs existante ne depassant pas 9

    8

    veuillez entrer la longueur de la suite ne depassant pas 9

    4

    veuillez entrer le nombre d'essais

    15

    [7, 2, 4, 8]

    21

    -
    Edité par nicolasparmantier 24 janvier 2015 à 10:13:41

    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2015 à 10:31:52

       3 eme code de affiachageEntier

      def affichageEntier(listeEntier):
      
          nbre = 0
          a,b,c,d,e,f,g,h,i,j=0,0,0,0,0,0,0,0,0,0
      
          a = listeEntier[0]
          b = listeEntier[1]
          c = listeEntier[2]
          d = listeEntier[3]
          e = listeEntier[4]
          f = listeEntier[5]
          g = listeEntier[6]
          h = listeEntier[7]
          i = listeEntier[8]
          j = listeEntier[9]
      
          str(a)
          str(b)
          str(c)
          str(d)
          str(e)
          str(f)
          str(g)
          str(h)
          str(i)
          str(j)
      
          nbre = a+b+c+d+e+f+g+h+i+j
          return nbre

      resultat:

      bonjour bienvenue ds mastermind

      veuillez entrer un nombre de couleurs existante ne depassant pas 9

      8

      veuillez entrer la longueur de la suite ne depassant pas 9

      4

      veuillez entrer le nombre d'essais

      5

      Traceback (most recent call last):

        File "C:/Users/NICOLAS/PycharmProjects/mastermind/essaie.py", line 77, in <module>

          print(affichageEntier(Initialisation(a,b)))

        File "C:/Users/NICOLAS/PycharmProjects/mastermind/essaie.py", line 54, in affichageEntier

          e = listeEntier[4]

      IndexError: list index out of range

      [3, 4, 8, 1]

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        24 janvier 2015 à 10:35:28

        Quand on a du mal à exprimer un problème, il est clair que la difficulté sera grande.

        Peux-tu t'exprimer clairement (en bon français, sans trop de fautes et surtout en se relisant), car lettres inversées, ... c'est assez déroutant pour suivre.

        Tu voudrais passer de [1, 2, 3, 4] à 1234, c'est ça ? Ça semble pas bien difficile, sur un code testé à l'interpréteur

        >>> liste = [1, 2, 3, 4]
        >>> res = ''
        >>> for n in liste:
        ...     res += str(n)
        ... 
        >>> res
        '1234'
        

        Si c'est cela que tu veux, plus qu'à l'adapter à ton code (que je n'ai pas lu).

        • Partager sur Facebook
        • Partager sur Twitter
          24 janvier 2015 à 11:20:53

          Salut

          C'est vrai que c'est pas très clair. Pour compléter oldProgrammer il te reste plus qu'à faire ceci :

          >>> res = int(res)
          >>> res
          1234



          • Partager sur Facebook
          • Partager sur Twitter
            24 janvier 2015 à 11:23:29

            InhumanRampage a écrit:

            Salut

            C'est vrai que c'est pas très clair. Pour compléter oldProgrammer il te reste plus qu'à faire ceci :

            >>> res = int(res)
            >>> res
            1234



            Pour quoi faire ? Il cherche à afficher le résultat, pas besoin de le convertir en int.

            • Partager sur Facebook
            • Partager sur Twitter
              24 janvier 2015 à 11:34:23

              Ah oui, au temps pour moi, comme j'ai lu [1,2,3,4] -> 1234, j'ai pensé chiffres et pas chaîne de caractères :-°

              -
              Edité par InhumanRampage 24 janvier 2015 à 11:34:43

              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                24 janvier 2015 à 11:54:08

                mot = ''.join(liste_chiffres), non ?
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  24 janvier 2015 à 11:56:43

                  @Lubzorg,

                  Oui seulement je pense que là encore, c'est un étudiant et que ce type de fonction est difficile, surtout que à vu de nez comme cela, je dirais qu'il te manque aussi la fonction map.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    24 janvier 2015 à 12:26:27

                    merci oldProgrammer et inhumanRampage sa fonctionne
                    • Partager sur Facebook
                    • Partager sur Twitter

                    URGENT convertire listeEntier en nombre entier pro

                    × 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