#1 Le 26/05/2008, à 21:54
- pirou01
[Resolu][python encodage] accents dans un script
Bonjour à tous,
Voila, j'ai des connaissances en php-mysql et il y a peu j'ai voulu me lancer dans le python ...
Or je me heurte à un problème que je ne parviens pas a trouver la résolution malgré 3h de recherches web (je suis peut-être pas doué mais c'est mon premier topic pour demander de l'aide car je bloque complètement) !
Donc je suivait le livre : "Apprendre a programmer avec Python".
C'est à l'exercice 5.11...
Voici mon code :
# -*- coding: UTF-8 -*-
# But : Afficher ['Janvier',31,'Février',28,'Mars',31, etc...].
t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
t2 = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin','Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']
n_t1, n_t2 = len(t1), len(t2)
if (n_t1==n_t2):
i=0
t3= []
while (i < n_t1):
t3.append(t2[i])
t3.append(t1[i])
i = i+1
else :
print "les deux chaines n'ont pas le même nombre de caractères"
print t3
Voici ce que python me renvoie :
['Janvier', 31, 'F\xc3\xa9vrier', 28, 'Mars', 31, 'Avril', 30, 'Mai', 31, 'Juin', 30, 'Juillet', 31, 'Ao\xc3\xbbt', 31, 'Septembre', 30, 'Octobre', 31, 'Novembre', 30, 'D\xc3\xa9cembre', 31]
Le résultat est donc correct mais aucun caractère ne passe ... Pourtant mon encodage de fichier est bien utf-8... Par défaut l'encodage python est ascii...
Or voila, malgré mes recherches je ne trouve pas le moyen de faire prendre les accents par python... C'est assez énervant ...
(résolution dans le livre mais qui renvoie le même problèmes de caractères
# Combinaison de deux listes en une seule
# Listes fournies au départ :
t1 = [31,28,31,30,31,30,31,31,30,31,30,31]
t2 = ['Janvier','Février','Mars','Avril','Mai','Juin',
'Juillet','Août','Septembre','Octobre','Novembre','Décembre']
# Nouvelle liste à construire (vide au départ) :
t3 = []
# Boucle de traitement :
i = 0
while i < len(t1):
t3.append(t2[i])
t3.append(t1[i])
i = i + 1
# Affichage :
print t3
Merci beaucoup!
Pirou01
Dernière modification par pirou01 (Le 26/05/2008, à 22:42)
Hors ligne
#2 Le 26/05/2008, à 22:28
- reeth_no_log
Re : [Resolu][python encodage] accents dans un script
essaye de faire un :
for i in t3:
print i,
Comme cela, tu affichera les éléments du tableau de manière correcte. Sinon, je crois que l'interpréteur te renvoie le code utf8 des caractères utilisés, ce qui est normal car tu affiche toute la liste de manière 'brute'.
#3 Le 26/05/2008, à 22:41
- pirou01
Re : [Resolu][python encodage] accents dans un script
Effectivement, un problème qui n'en est pas un... il m'affichait le format brut de ce contenant la variable...
si je faisais un
print t3[2], il me met correctement les accents
Merci beaucoup et longui vie à ubuntu
==> résolu et désolé du dérangement !
Hors ligne