Outils pour utilisateurs

Outils du site


nsi:tds:systeme_affichage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:tds:systeme_affichage [2023/01/05 22:06] goupillwikinsi:tds:systeme_affichage [2024/01/25 14:03] (Version actuelle) goupillwiki
Ligne 79: Ligne 79:
 Pour vos essais, vous pourrez utiliser le fichier {{ :nsi:tds:alphabet.txt |}} mais pensez à en créer d'autres ! Pour vos essais, vous pourrez utiliser le fichier {{ :nsi:tds:alphabet.txt |}} mais pensez à en créer d'autres !
  
-<WRAP tip> 
 ===== Un peu d'aide ===== ===== Un peu d'aide =====
 +
 +=== Ouvrir le fichier ===
 +
 +<code python>
 +f = open(filename, 'r', encoding='utf8')
 +content = f.read()
 +f.close()
 +lines = content.split('\n')
 +</code>
 +
 +Suite à ce code, ''lines'' contient un tableau où chaque item est une ligne du fichier.
 +
 +<code>
 +[' ■■■ ', '■   ■', '■■■■■', '■   ■', '■   ■', '■■■■ ', '■   ■', ..., '']
 +</code>
 +
 +Vous remarquez que la dernière ligne est vide. Cela peut arriver mais n'est pas certain. Cela dépend de comment à été écrit le fichier. On peut s'assurer que la dernière ligne n'est pas vide en supprimant toute dernière ligne qui serait vide :
 +
 +<code python>
 +while lines[-1] == '':
 +    lines.pop()
 +</code>
 +
 +La fonction `pop`a pour effet d'enlever le dernier élément.
 +
 +=== Accéder à une ligne ===
 +
 +Maintenant que nous disposons de ''lines'', nous pouvons facilement consulter le contenu d'une ligne.
 +
 +<code python>
 +>>> lines[2]
 +'■■■■■'
 +</code>
 +
 +=== Parcours caractères / lignes ===
  
 Supposons que l'on veuille afficher ''%%"BONJOUR"%%''. On va devoir à un moment où à un autre récupérer l'affichage pour ''%%"B"%%'', pour ''%%"O"%%'', etc. Supposons que l'on veuille afficher ''%%"BONJOUR"%%''. On va devoir à un moment où à un autre récupérer l'affichage pour ''%%"B"%%'', pour ''%%"O"%%'', etc.
Ligne 121: Ligne 155:
  
 Dernière chose, pour afficher le message (par exemple ''%%"BONJOUR"%%'', il faut énumérer les caractères du message et les lignes d'affichage (par exemple ici 5 lignes puisque chaque caractère a 5 pixels de  haut). Comment articuler ces deux énumérations ? Dernière chose, pour afficher le message (par exemple ''%%"BONJOUR"%%'', il faut énumérer les caractères du message et les lignes d'affichage (par exemple ici 5 lignes puisque chaque caractère a 5 pixels de  haut). Comment articuler ces deux énumérations ?
-</WRAP>+ 
 +=== Fichier de sortie === 
 + 
 +Supposons que vous ayez obtenu un résultat formé des 5 lignes de pixels pour écrire BONJOUR, dans une variable ''result''
 + 
 +Il faut encore mettre les lignes ensemble et écrire dans un fichier : 
 + 
 +<code python> 
 +content = '\n'.join(result) # recolle les lignes 
 +f = open(filename, 'w', encoding='utf8'
 +f.write(content) 
 +f.close()
nsi/tds/systeme_affichage.1672952766.txt.gz · Dernière modification : de goupillwiki