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. Modérateur
    Bonjour,
    Pour commencer, tu as oublié une parenthèse fermante à la ligne 6
    1. slvp quand il faut des entiers de 3chiffres je fais comme ca ?

      while len(t[i]==3)
      print(t)
      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. 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. 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. 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. 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. 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