nsi:tds:divers:ascii_art
Table des matières
ASCII Art
Il s'agit de produire des formes avec des caractères. Dans tous les cas vous devez écrire une fonction réalisant la tâche demandée, tenant compte des paramètres fournis – entrées.
Rectangle
Entrées :
height: hauteur du rectangle, sans compter le bord supérieurwidth: largeur du rectangle, sans compter les bords
On utilise les caractères | et _
Exemple : rectangle(4, 8) renvoie la chaîne de texte :
________ | | | | | | |________|
Le caractère pour le retour à la ligne est \n.
Triangle
Entrée :
height: nombre d'étage de la pyramide
On utilise les caractères /, \, _ et .
Exemple : pyramide(5) produit la sortie :
.
/ \
/ \
/ \
/_______\
Parallélogramme
Entrée :
height: hauteur, sans compter le bord supérieurwidth: largeur, sans compter les bords
On utilise les caractères / et _
Exemple : plg(3, 10 produit la sortie :
__________ / / / / /_________/
zoom
On voudrait écrire une fonction zoom(art, factor) qui pour une chaîne de ascii-art art donnée, renvoie la même mais multipliée par factor, un entier.
Exemple :
>>> art = """ *+ +* """ >>> zoom(art, 2) **++ **++ ++** ++**
Comment faire ?
- Dans un premier temps, il suffit de produire une chaîne en doublant tous les caractères de
artsauf les retours à la ligne'\n'. - Dans un deuxième temps, doubler toutes les lignes. Pour cela, on peut facilement récupérer les lignes d'un
textedonné en faisant :for line in texte.split('\n'):. La méthodesplitsert justement à découper la chaîne.
Exemple :
__ __
/ \.-"""-./ \
\ - - /
| o o |
\ .-'''-. /
'-\__Y__/-'
`---`
nsi/tds/divers/ascii_art.txt · Dernière modification : de goupillwiki
