0
votes

Pourquoi la boucle tandis que la boucle ne fonctionne pas dans ce code?

Je veux imprimer le motif suivant, mais la boucle tandis que la longueur de la longueur ne fonctionne pas. Quand j'exécute le code, il imprime seulement un triangle En dessous du code, une sortie attendue et une sortie réelle: xxx pré>

sortie attendue: p>

hauteur = 5 Longueur = 3 p> xxx pré>

sortie lorsque le code a couru: p>

hauteur = 5 Longueur = 3 P>

    /\           
   /  \          
  /    \       
 /      \   
/        \


0 commentaires

3 Réponses :


2
votes

Le pendant que la boucle fonctionne. Mais la première fois via le pendant votre code modifie les valeurs de hauteur , espaces2 et espaces . La deuxième fois via la boucle tandis que , ces valeurs sont toutes zéro pour que le pour Les boucles ne font rien. Pour montrer que, ajoutez la ligne impression (longueur) juste en dessous de la longueur longueur - = 1 . Vous verrez 3 itérations du en tant que boucle signalé.


0 commentaires

0
votes

Ici, la raison est que la première pour la boucle change la variable de hauteur à zéro, de sorte que cela pour et l'autre pour dans la deuxième itération de la boucle de tandis que la boucle ne fonctionne pas (itérer à zéro heure)


0 commentaires

0
votes

Bien que la question ait déjà été répondue, affichez une autre solution (comme je l'ai joué un peu avec le problème, et prenant donc une approche légèrement différente).

code.py p>: p>: p>: p>: xxx pré>

notes strong>: p>

  • Les générateurs sont utilisés li>
  • _triangle em>:
    1. génère des lignes de cordes au lieu de simplement les imprimer li>
    2. Pour chaque ligne, il inclut également l'espace "invisible" em> char em> s qui vient après le bord droit (à la fin, il génère un rectangle contenant ( boîtes) le triangle) li> ol> li>
    3. triangles em>:
      • multiplie simplement le triangle horizontalement (ligne par ligne). Ceci est possible à cause de la dernière balle # 2. Em> strong> article li> ul> li> ul>

        sortie forte>: p>

        [cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q055810531]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" code.py
        Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
        
              /\            /\            /\            /\            /\
             /  \          /  \          /  \          /  \          /  \
            /    \        /    \        /    \        /    \        /    \
           /      \      /      \      /      \      /      \      /      \
          /        \    /        \    /        \    /        \    /        \
         /          \  /          \  /          \  /          \  /          \
        /            \/            \/            \/            \/            \
        Done.
        


0 commentaires