Comment faire un triangle rectangle côté droite [Résolu]

Signaler
-
 domxav1759 -
Bonjour,
j'ai un triangle rectangle côté gauche comme ceci c'est un triangle côté gauche
def triangle(n):
    # for i in range(1, n + 1, 1):
    for i in range(1, n + 1, 1):
        print(i * "*")
triangle(7)


mais, je veux écrire un programme mon triangle soit côté droite
quelqu'un peut m'aider s'il vous plaît


Configuration: Windows / Firefox 84.0

4 réponses

Messages postés
6059
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
19 janvier 2021
1 527
Bonsoir,

Comme tout faux-débutant, je suis un peu rouillé mais me suis acharné à trouver le code.

Comme vous le savez, on ne donne pas la solution, mais des pistes pour que le demandeur la découvre par lui-mêle.

Le script consiste donc à écrire 7 fois une ligne d'étoiles pour tracer un triangle.

Vous cherchez donc à le tracer "en miroir". Je ne suis d'abord égaré en traçant la figure pointe en bas, donc en inversant le décompte de i.

La solution réside dans l'écriture dans la seule ligne de tracé (il ne faut donc pas toucher à la ligne 3, sauf que le pas de 1 peut être supprimé puisqu'il existe par défaut).

Il faut donc que la première étoile se trouve décalée vers l'extrême droite sur la première ligne, puis une position de moins en décalage pour chacune des lignes suivantes.

A vous lire
Messages postés
853
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
17 janvier 2021
96
Bonjour,

Tu as posé le même problème sur un autre forum, et tu as eu une réponse ...
Messages postés
6059
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
19 janvier 2021
1 527
Bonjour Phil;

C'est sas doute pourquoi je n'en ai pas eu. Encore grillé, mais ce n'est pas grave. Mon script fonctionne et il y a sans doute plusieurs solutions.
rows = 5
k = 2 * rows - 2
for i in range(0, rows):
    for j in range(0, k):
        print(end=" ")
    k = k - 2
    for j in range(0, i + 1):
        print("* ", end="")
    print("")
que je dois faire, pour mettre en résolu?