Comment faire un triangle rectangle côté droite

Résolu
domxav1759 -  
 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

georges97 Messages postés 13761 Date d'inscription   Statut Contributeur Dernière intervention   2 648
 
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
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

Tu as posé le même problème sur un autre forum, et tu as eu une réponse ...
0
georges97 Messages postés 13761 Date d'inscription   Statut Contributeur Dernière intervention   2 648
 
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.
0
domxav1759
 
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("")
0
domxav1759
 
que je dois faire, pour mettre en résolu?
0