Partage
  • Partager sur Facebook
  • Partager sur Twitter

tableau deux dimensions et nombres aléatoires

    18 mars 2015 à 13:39:08

    bonjour , voici mon probleme je souhaite déclarer un  tableau en deux dimensions et à l intérieur je déclare des nombres aléatoires et je souhaite déterminer le maximum et le minimum

    from random import *
    tab=[]
    colonnes=int(input("veuillez entrez le nombre de colonnes"))
    ligne=int(input("veuillez entrez le nombre de lignes"))
    
    lignes=[]
    max=0
    min=0
    cpt=0
    for i in range (0,colonnes):
        lignes=[]
        for j in range (0,ligne):
            a=randint(0,38)
            lignes.append(a)
            if (cpt==0):
                max=a
                min=a
                cpt=cpt+1
            else:
                if (tab[i][j]>max):
                    max=a
                elif (tab[i][j]<min):
                    min=a
        tab.append(lignes)
    
    print(tab)
    print("le max est ",max)
    print("le min est ",min)
    

    le probleme c est qu a la ligne 31 il m affiche list index out of range  et je sais pas pourquoi ,pourriez vous m aider pleeease ?;)

    • Partager sur Facebook
    • Partager sur Twitter
      18 mars 2015 à 14:50:10

      Salut

      from random import randint
      
      x = 10
      y = 5
      nb_max = 4815
      nb_min = 1623
      
      matrice = [[randint(nb_min, nb_max) for a in range(x)] for b in range(y)]



      -
      Edité par InhumanRampage 18 mars 2015 à 17:31:40

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        18 mars 2015 à 15:16:14

        alex5956 a dit

        le probleme c est qu a la ligne 31

        Si ça déjà ça ne choque pas, alors...

        Attention aussi à ne pas utiliser les fonctions built-in comme vos variables, voir ici

        Pour l'utilisation de range, on peut éviter de mettre le 0

        EDIT: Pour l'exercice, il suffit de bien poser les variables, et de ne pas s'y perdre...

        from random import randint
        
        NBLINES = int(input("Entrer le nombre de lignes: "))
        NBCOLUMNS = int(input("Entrer le nombre de colonnes: "))
        
        MINI = 0
        MAXI = 38
        
        mini = MAXI
        maxi = MINI
        
        result = []
        
        for i in range(NBLINES):
            line = []
            for j in range(NBCOLUMNS):
                nbAlea = randint(MINI, MAXI)
                if nbAlea > maxi:
                    maxi = nbAlea
                elif nbAlea < mini:
                    mini = nbAlea
                line.append(nbAlea)
            result.append(line)
            
        print(result)
        print("valeur mini: {} et valeur maxi: {}".format(mini, maxi))
        

        Qui il faut bien l'admettre, est très difficile si on s'organise pas un minimum, exercice sympa avant d'arriver à l'utilité des fonctions en python, permettant par la suite de rendre toutes ces étapes visibles et rendre le code modifiable beaucoup plus facilement.

        -
        Edité par Anonyme 18 mars 2015 à 15:33:07

        • Partager sur Facebook
        • Partager sur Twitter
          18 mars 2015 à 16:55:41

          la ligne 20 je veux dire !

          super ça marche merci !:))))

          mais pourquoi ça ne marche pas quand je mets un truc du genre 

          tab[i][j]>max
          pourquoi ça ne marche pas ?

          -
          Edité par alex5956 18 mars 2015 à 17:06:44

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            18 mars 2015 à 17:22:49

            mais pourquoi ça ne marche pas quand je mets un truc du genre

            Ça va être une réponse simple, il suffit que ta ligne ou ta colonne ne soit pas encore créée, pour que l'appel à tes index dans ton tableau échouent.

            • Partager sur Facebook
            • Partager sur Twitter
              21 mars 2015 à 11:58:46

              je me souviens avoir mis ligne et colonnes ça avit pas marché 

              et j arrive a voir le problème i et j sont pourtant bien crées !!o_O

              • Partager sur Facebook
              • Partager sur Twitter
                21 mars 2015 à 12:40:21

                i et j sont créés mais pas les sous-liste dans ta liste tab. Regarde au début du programme, tu as tab = []. Tu ne peux donc pas écrire tab[0][0]. Si tu suis le cours du programme, tu te rendras compte que tu as créé une liste ligne en ligne 11, mais elle n'est pas encore ajoutée à tab. L'ajout ne se fait qu'en ligne 24, hors en ligne 20, tu demande d'aller à tab[0][1]. Mais à ce moment, tab vaut toujours [].

                -
                Edité par Dan737 21 mars 2015 à 12:40:43

                • Partager sur Facebook
                • Partager sur Twitter
                  21 mars 2015 à 14:36:39

                  qu est ce qui faut que je fasse dans ce cas ?pour fonctionner avec un tableau

                  -
                  Edité par alex5956 21 mars 2015 à 14:36:54

                  • Partager sur Facebook
                  • Partager sur Twitter

                  tableau deux dimensions et nombres aléatoires

                  × 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