Tab python

bonjour , ce programme ne marche pas je crois a cause de la ligne 7 ;;; aidez moi slvp et merci
n=0
while n<=0:
    n=int(input(' donner n \t '))
t=[0]*n
for i in range(n):
    t[i]=int(input('donner le nombre num ' +str(i)+ 't')
    while (t[i]<2 or t[i]>100):
             print('erreur')
 print(t)


EDIT MODERATION : La question concernant le langage PYTHON .... je l'ai donc déplacé dans le forum PYTHON !!
Merci d'y faire attention à l'avenir !

11 réponses

  1. bonjour programmer,

    une boucle de x<100 ?

    ca veut dire que 101 est exclus, ce n'est pas un nombre à 3 chiffres ?

    et 99 est dedans, et pourtant il n'a que de 2 chiffres !

    Fais voir ton code, par curiosité

    Mais pas une photo, comme précédemment, copie le ici avec les balises
    1. le probleme est resolu j ai fait une boucle de x<100 :D
      excusez moi si je suis entrain de vous deranger mais j ai une autre question , si je veux faire la somme des carrés des chiffres de nombre de ce tableau je fais quoi exactement ?
      1. et alors,

        ma réponse te donne la solution !

        tu as essayé au moins ?
        1. bien sur jusqu a maint tt fonctionne mais faut que je montionne que les nombres soient en 3 chiffres .. j ai pas trouvé comment
        2. @programmer_24Je te l'ai mis dans ma réponse
          Si le nombre est strictement inférieur à 1000, il fait forcément 3chiffres de long
        3. @Phil_1857mais les nombres inferieur a 1000 ils peuvent etre des nombres de 2 chiffres aussi !
        4. @programmer_24Ah ,c'est strictement 3 chiffres
          Hé bien tu sais comment faire:
          Teste si nombre strictement superieur à 99 et strictement inférieur à 1000
      2. pardon dans l application il m a dit de faire un tableau t de n elements avec n entre 2et100.les elements de t sont des entiers naturels de 3 chiffres
        1. t est une liste, il faut la peupler comme ceci:

          t  =[]
          for i in range(n):
              x = int(input('donner le nombre num ' +str(i)+' '))
              t.append(x)
          


          Ensuite, on ne peut pas faire
          if(len(t[i]) == 3):
          car t[i] est un entier, il n'a pas de len

          if(t[i] < 1000):
          ca irait mieux, non ?
          1. Bonjour

            Pourquoi une boucle while ?

            if(len(t[i]) == 3):
                print(t[i])
            

            mais comme t[i] est un entier il n'a pas de len()

            Ca, c'est une boucle infinie si t[i] est égal à 1, par exemple:
              while (t[i]<2 or t[i]>100):
                         print('erreur')
            1. pardonmais vous avez pas utilisez la fonction len
          2. slvp quand il faut des entiers de 3chiffres je fais comme ca ?

            while len(t[i]==3)
            print(t)
            1. Modérateur
              Bonjour,
              Pour commencer, tu as oublié une parenthèse fermante à la ligne 6