.. index:: Figures amb *'s Figures amb ``*``'s ------------------------------------------------ | .. note:: Las funcions que apareixen a continuació no retornen cap valor (no inclouen cap *return *). Contenen iteracions amb *for* on es fa servir la instrucció *print*. - **Quadrats I.** Dissenya una funció *qd1(n)* que rep un número natural *n* i escriu un quadrat ple amb tants asteriscs (*) de costat com indica el número *n*. .. code-block:: python >>> qd1(5) ***** ***** ***** ***** ***** Presentarem 3 solucions: a. primera solució, el la que cada línia (fila del quadrat) es construeix amb l'operador de replicació de strings (*str \* n*). En el fitxer :download:`qd1a.py` tens la solució sense els comentaris: .. literalinclude:: qd1a_doc.py :emphasize-lines: 3 b. segona solució, amb una funció independent encarregada d'escriure una línia de *na* asteriscs. En el fitxer :download:`qd1b.py` tens la solució sense els comentaris: .. literalinclude:: qd1b_doc.py :emphasize-lines: 5-7,11 c. tercera solució, amb dos iteracions *for* niuades, on la interior és la que escriu els caràcters d'una línia. En el fitxer :download:`qd1c.py` tens la solució sense els comentaris: .. literalinclude:: qd1c_doc.py :emphasize-lines: 3-6 - **Triangles II.** Dissenya una funció *tr2(n)* que rep un número enter i escriu un triangle rectangle buit amb tants asteriscs (*) de base i altura como indica el número. .. code-block:: python >>> tr2(5) * ** * * * * ***** Presentarem 3 solucions: a. primera solució, en la que cada línia (fila del triangle) es construeix amb l'operador de replicació de strings (*str \* n*). En el fitxer :download:`tr2a.py` tens la solució sense els comentaris: .. literalinclude:: tr2a_doc.py :emphasize-lines: 3-4,7,9,14-15 b. segona solució, amb una funció independent encarregada d'escriure les línies intermitges (las que no són la del vertés superior ni la de la base). En el fitxer :download:`tr2b.py` tens la solució sense els comentaris: .. literalinclude:: tr2b_doc.py :emphasize-lines: 6-9,14-15 c. tercera solució, que per les línies intermitges conté dos iteracions *for* niuades. La iteració interior és la que escriu els espais entre els asteriscs. En el fitxer :download:`tr2c.py` tens la solució sense els comentaris: .. literalinclude:: tr2c_doc.py :emphasize-lines: 4-8