Petite coquille sur python

Bonjour,
Je commence le python et j'ai un petit soucis sur un programme, si on pourrait me dire ce qui cloche ce serait super.

Ce que je dois faire : Écrire un programme qui affiche les 20 premiers multiples de 7 strictement positifs, suivis chacun par un point-virgule, et en allant à la ligne après (et seulement après) chaque multiple de 3.

liste=[]
u=""
j=1
i=0
while i<20:
if j%7==0:
i=i+1
liste.append(j)
j=j+1
else :
j=j+1

for p in liste:
if p%3==0:
u+="p\n"
else:
u+="p"
print(u)

Ce que le programme me donne :
ppppp
ppp
ppp
ppp
ppp
ppppp
[...]

Pourquoi il ne me donne pas la valeur chiffré de p ?

5 réponses

  1. Au temps pour moi
    liste=[]
    u=""
    j=1
    i=0
    while i<20:
        if j%7==0:
            i=i+1
            liste.append(j)
            j=j+1
        else :
            j=j+1
    
            for p in liste: 
                if p%3==0:
                    u+="p;\n"
                else:
                    u+="p;"
    print(u)
    0
    1. Ok, parfait.

      Là littéralement du demande à ajouter la lettre p suivie de ; dans le texte.
      Tu ne demandes pas de mettre le contenu de la variable dans le texte.

      Sais tu comment on construit un texte à partir de valeurs de variables?

      0
      1. Merci de ta réponse !

        Non justement je ne sais pas comment faire
        0