Comment faire un triangle rectangle côté droite

Résolu/Fermé
domxav1759 - Modifié le 18 déc. 2020 à 14:33
 domxav1759 - 19 déc. 2020 à 16:59
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 11952 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 28 mai 2024 2 275
18 déc. 2020 à 17:31
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 lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
19 déc. 2020 à 09:58
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 11952 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 28 mai 2024 2 275
19 déc. 2020 à 10:05
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
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
que je dois faire, pour mettre en résolu?
0