1
votes

Afficher un motif

Le code doit montrer le modèle suivant:

0 

0 1 

0 1 2 

0 1 2 3 

0 1 2 3 4

Voici mon code et sa sortie:

for i in range(6):
    # At a glance, Line 14 range(i) starts at 0.
    for x in range(i):
        print(x, end=' ')
    print("\n")

Sortie de mon code

1

2 2 

3 3 3 

4 4 4 4 

5 5 5 5 5

Toute aide sera vraiment appréciée Merci. Bon codage.


1 commentaires

Comme vous le voyez, les programmeurs commencent à compter à 0, tout comme range() sauf indication contraire.


4 Réponses :


4
votes

Parce que vous imprimez x pas i et aussi parce que range() par défaut commence à 0

for i in range(1,6):
    for x in range(i):
        print(i, end=' ')
    print()


0 commentaires

1
votes
for i in range(1,6):
    for j in range(i):
        print(i,end=' ')
    print('\n')
  


0 commentaires

1
votes

il y aura donc 2 problèmes principaux avec votre code, vous devez résoudre le premier est mentionné dans un commentaire ci-dessus où les ordinateurs commenceront à compter à 0, vous devez donc changer toutes vos instructions de plage

print(i,end = "")

plutôt que

print(x,end = "")

Ensuite, le problème que vous avez mentionné dans votre titre, vous pouvez le résoudre en remplaçant le

range(6)

avec

range(1,6)

cela devrait imprimer le nombre souhaité plutôt que l'incrémentation.


0 commentaires

1
votes

Le problème est que vous imprimez le nombre qui est itéré dans la deuxième boucle. Donc, vous devez imprimer i not x

for i in range(6):
    for x in range(i):
        print(i, end=' ')
    print('\n')


0 commentaires