Outils pour utilisateurs

Outils du site


nsi:tds:jeux:ghostleg

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:jeux:ghostleg [2022/04/03 14:42] goupillwikinsi:tds:jeux:ghostleg [2025/02/06 23:18] (Version actuelle) goupillwiki
Ligne 27: Ligne 27:
  
 Vous disposez de fichiers tests à télécharger, et la réponse attendue dans ces cas : Vous disposez de fichiers tests à télécharger, et la réponse attendue dans ces cas :
-  * {{ ..:ghostleg1.txt |}} -> ''%%"BAC"%%'' +  * {{ .:ghostleg1.txt |}} -> ''%%"BAC"%%'' 
-  * {{ ..:ghostleg2.txt |}} -> ''%%"FBCEAD"%%'' +  * {{ .:ghostleg2.txt |}} -> ''%%"FBCEAD"%%'' 
-  * {{ ..:ghostleg3.txt |}} -> ''%%"FEDABC"%%'' +  * {{ .:ghostleg3.txt |}} -> ''%%"FEDABC"%%'' 
-  * {{ ..:ghostleg4.txt |}}+  * {{ .:ghostleg4.txt |}}
  
 ===== À faire ===== ===== À faire =====
Ligne 37: Ligne 37:
   * ouvre le fichier correspondant -- on suppose qu'il contient bien un un ghostleg   * ouvre le fichier correspondant -- on suppose qu'il contient bien un un ghostleg
   * résout ce ghostleg et renvoie la chaîne de caractère correspondant à la solution.   * résout ce ghostleg et renvoie la chaîne de caractère correspondant à la solution.
 +
 +===== 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>
 +[' B  C', ' |  |', '|--|  |', ' |--|', ' |--|', ' |  |', ' 2  3', '']
 +</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 à un item ===
 +
 +Maintenant que nous disposons de ''lines'', nous pouvons facilement consulter le contenu du fichier.
 +
 +<code python>
 +>>> lines[2][1]
 +'-'
 +</code>
 +En effet, ''%%lines[2]%%'' correspond au contenu de la ligne d'indice 2, c'est à dire ''%%'|--|  |'%%''. Donc ''%%lines[2][1]%%'' est le caractère de rang 1 dans cette ligne : ''%%'-'%%''.
 +
 +=== Les différentes lignes ===
 +
 +Dans le ghostleg, vous avez une ligne d'entête au début, les lignes de transition et à la toute fin une ligne de numéros qui ne sert pas à grand chose.
 +
 +<code python>
 +lines[0] # ligne d'entête
 +lines[1:-1] # toutes les lignes sauf la première et la dernière
 +lines[-1] # dernière ligne
 +</code>
 +
nsi/tds/jeux/ghostleg.1648989722.txt.gz · Dernière modification : de goupillwiki