Partage
  • Partager sur Facebook
  • Partager sur Twitter

diviseur

afficher diviseurs d 'un entier saisi par un utilisateur

Sujet résolu
    26 janvier 2015 à 11:06:57

    il faut écrire un algorithme  qui affiche  tous les diviseurs  d’un entier  saisi par l’utilisateur
    voila mon programme j ai essayé d’ introduire un tableau mais ça ne marche pas je vois pas comment faire
    tab[a]=0
    cpt=0
    N=int(input("saisissez un entier"))
    for i in range (0 ,N ,1):
        if N%i==0:
            print(tab[a]=i)
            cpt=cpt+1
    print("il y a ",cpt," nombres divisible par "tab[a])
    j ai un gros probleme avec les tabelaux pourriez vous me dire comme on les déclare et comment on les utilise ? pleaase 

    -
    Edité par alex5956 26 janvier 2015 à 11:07:29

    • Partager sur Facebook
    • Partager sur Twitter
      26 janvier 2015 à 11:47:43

      ligne 6, tu ton code est dans print() donc python ne fais que l'afficher et donc à la fin il n'y aura rien dans ton tab[]
      • Partager sur Facebook
      • Partager sur Twitter
      CactusHaven
        26 janvier 2015 à 13:19:43

        cpt=0
        N=int(input("saisissez un entier"))
        tab =[0]*N
        print("l entier vaut ",N)
        for i in range (1 ,N+1 ,1):
            if N%i==0:
                tab[i]=N
                print(tab[i])
                cpt=cpt+1
        print("il y a ",cpt," nombres divisible par ",tab[i])

        voici mon nouveau code il y un pb avec les indexs :

        CactusHAVEN je ne comprends pas ce que tu me dis , tu veux dire qu il ne peut pas afficher une affectation ? 

        -
        Edité par alex5956 26 janvier 2015 à 13:54:59

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          26 janvier 2015 à 13:36:37

          Pourquoi utilises-tu une liste ? Si tu ne fais que de l'affichage ?

          Mets des espaces entre tes opérateurs, lis la PEP8, qui est une ligne de conduite pour rendre tes codes lisibles...

          • Partager sur Facebook
          • Partager sur Twitter
            26 janvier 2015 à 13:57:19

            jai rectifié la derniere ligne je vais regarder la PEP8 ceci je doute que ça aide vraiment  le probleme je commence à 1 pour ne pas diviser par zéro et je vais N+1 pour m 'arrêter a N par ce que c est les problemes de langages de prog
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              26 janvier 2015 à 14:03:55

              jai rectifié la derniere ligne

              Qui ne change rien à la question posée, pourquoi une liste ?

              je vais regarder la PEP8 ceci je doute que ça aide vraiment le probleme

              Elle n'est pas là pour cela, relis ma remarque, par contre si tu veux des réponses à tes questions, mieux vaut respecter les conventions, un code non lisible n'attire pas les codeurs à te lire.

              P.S Essayes aussi de faire des phrases avec ponctuation, parce-que en plus du code qui ne respecte pas les conventions, le français laisse à désirer, il faut tout de même un minimum.

              EDIT:

              Pourquoi pas seulement

              N = int(input("saisissez un entier: "))
              
              cpt = 0
              
              for i in range(1, N):
                  if N % i == 0:
                     print(i, end=' ')
                     cpt += 1
                 
              print("\nil y a ", cpt, " diviseurs pour N =", N) 





              -
              Edité par Anonyme 26 janvier 2015 à 15:22:03

              • Partager sur Facebook
              • Partager sur Twitter
                26 janvier 2015 à 17:52:34

                alex5956 a écrit:

                cpt=0
                N=int(input("saisissez un entier"))
                tab =[0]*N
                print("l entier vaut ",N)
                for i in range (1 ,N+1 ,1):
                    if N%i==0:
                        tab[i]=N
                        print(tab[i])
                        cpt=cpt+1
                print("il y a ",cpt," nombres divisible par ",tab[i])

                voici mon nouveau code il y un pb avec les indexs :

                CactusHAVEN je ne comprends pas ce que tu me dis , tu veux dire qu il ne peut pas afficher une affectation ? 

                -
                Edité par alex5956 il y a environ 3 heures

                pour ce code tu doit remplacer la ligne 7 par :

                tab.append(N)
                Car sinon tu commence ton tableau directement à la case tab[1] et python VEUT qu'un tableau commence par tab[0]


                • Partager sur Facebook
                • Partager sur Twitter
                CactusHaven

                diviseur

                × 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