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.
4 Réponses :
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()
for i in range(1,6): for j in range(i): print(i,end=' ') print('\n')
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.
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')
Comme vous le voyez, les programmeurs commencent à compter à 0, tout comme
range()
sauf indication contraire.