Bonjour,
Je sollicite votre un aide pour un exercice de clisp qui me pose problème.
J'ai un fichier contenant les principaux caractères utilisés en français : ici
Dans le fichier, il y a sur chaque ligne, un numéro, un caractère et sa représentation lisp.
Je dois coder une fonction (en clisp of course) qui écrit dans un fichier alpha-char les caractères de chaque ligne, et dans un fichier alpha-code les codes des caractères.
En gros je dois avoir ça :
Alphabet.txt :
65 A #\A
66 B #\B
67 C #\C
alpha_char.txt :
A
B
C
alpha_code.txt :
#\A
#\B
#\C
J'ai beaucoup de mal avec ce langage et mon cours est très mal documenté.
Voici donc ce que j'ai pour l'instant :
En pensant que ça pourrait m'aider j'ai créer une fonction qui fait le travail attendu en Python :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 (defun splitalpha (monfichier) (setq monfichier (open monfichier :direction :input :if-does-not-exist :error) ) (loop (cond ((???) (close monfichier) (return)) ) (read-from-string (read-line monfichier nil nil))
Si quelqu'un peut m'aider à avancer je ne dirais pas non car ce n'est que le début de l'exercice et je bloque déjà. C'est un langage avec lequel je n'arrive pas me familiariser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ## sépare code et char dans 2 fichiers ## def splitalpha(fichier, char=[], code=[]): flux = open(fichier, 'r') for n, line in enumerate(flux): char.append(line.split()[1]) code.append(line.split()[2]) flux.close() flux = open("alpha_char.txt", 'w') flux.write('\n'.join(char)) flux.close() flux = open("alpha_code.txt", 'w') flux.write('\n'.join(code)) flux.close()
Merci d'avance !!
Partager