Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/01/2010, à 00:47

Spirzouf

[Résolu] utf-8 et python

Bonjour, j'ai commencé hier à découvrir le python avec le livre de Gérard Swinnen.

je fais les exos, et là, même si mon algorithme fonctionne, je me rends compte d'un petit blème :

# -*- coding: utf-8 -*-
# Exercice : Écrivez un script qui détermine si une
# chaîne contient ou non le caractère « e ».

mot="noémie"

longueur=len(mot)
print "le mot '",mot,"' comprend",longueur,"lettres"
a=0
trouve=0
while a<longueur and trouve==0:
  print mot[a],
  if mot[a]=="e":
    trouve=1
    print "\nla lettre 'e' a été trouvée en position",a+1
  a=a+1
if trouve==0:
  print "\nla lettre 'e' n'a pas été trouvée"

résultat :

le mot ' noémie ' comprend 7 lettres
n o � � m i e
la lettre 'e' a été trouvée en position 7

donc malgré la déclaration de l'utf-8 en début de script (ajout automatique de kate), ça bug...
j'ai testé latin-9 pour voir et c'est pareil.

Sauriez vous comment régler ceci ?

D'avance, merci pour votre aide.

Dernière modification par Spirzouf (Le 11/01/2010, à 16:12)

Hors ligne

#2 Le 11/01/2010, à 01:52

Spirzouf

Re : [Résolu] utf-8 et python

je viens de trouver la solution ici : http://forum.ubuntu-fr.org/viewtopic.php?id=254145

en mettant

mot=u"noémie"

on obtient comme résultat :

le mot ' noémie ' comprend 6 lettres
n o é m i e
la lettre 'e' a été trouvée en position 6

Est-ce habituel de devoir utiliser ceci pour les chaines de caractère accentuées ? (rappel, j'ai moins de 24h d'expérience en python tongue )

Hors ligne

#3 Le 11/01/2010, à 02:06

Spirzouf

Re : [Résolu] utf-8 et python

à noter que si on entre en console le mot à vérifier, il faut mettre :

mot=unicode(raw_input("Entrez un mot où je chercherai la lettre 'e' : "), 'UTF-8')

on obtient :

Entrez un mot où je chercherai la lettre 'e' : noémie
le mot ' noémie ' comprend 6 lettres
n o é m i e
la lettre 'e' a été trouvée en position 6

sinon, ma question précédente est toujours d'actualité : est-ce habituel de devoir utiliser ceci pour les chaines de caractère accentuées ?

Hors ligne

#4 Le 11/01/2010, à 15:05

k3c

Re : [Résolu] utf-8 et python

Pour moi la référence sur ce sujet est sur le site de sebsauvage

http://sebsauvage.net/python/charsets_et_encoding.html

Bonne lecture.


Archlinux sur Xiaomi Air 13

Hors ligne

#5 Le 11/01/2010, à 16:12

Spirzouf

Re : [Résolu] utf-8 et python

merci beaucoup pour ce lien : encore ardu pour mois au 2ème jour de Python, mais ça va rentrer tongue

Hors ligne

#6 Le 11/01/2010, à 20:36

k3c

Re : [Résolu] utf-8 et python

Certaines personnes disent qu'avant de lire le livre de Swinnen, il vaut mieux commencer par "A byte of Python".

La version française est là

http://www.swaroopch.com/notes/Python_fr:Table_des_Matières


Archlinux sur Xiaomi Air 13

Hors ligne

#7 Le 11/01/2010, à 21:37

Spirzouf

Re : [Résolu] utf-8 et python

oui, j'ai déjà présélectionné cette ressource mais j'avais commencé par Swinnen trouvant plus agréable de lire un PDF qu'une page web.

J'ai cependant vu plusieurs commentaires laissant entendre que le livre de Swinnen pouvait engendrer des mauvaises habitudes de programmation ; en quoi si tu as un avis là dessus ?

et autre question, j'ai installé python 2.6 et 3 pour comparer :
j'ai remarqué que print devenait print() et que les calculs sur les entiers pouvaient maintenant donner des réels. J'ai vu aussi que raw_input a remplacé input. Mais je n'ai pas trouvé de liste complète des différences... Tu aurais un lien ?

Hors ligne

#8 Le 12/01/2010, à 23:04

k3c

Re : [Résolu] utf-8 et python

on peut créer un PDF sur le site de Swaroop, il faut faire "start collection" dans le menu de gauche, si tu n'y arrives pas, je m'en occuperai ce week-end.

Pas d'idée pour tes autres questions.


Archlinux sur Xiaomi Air 13

Hors ligne

#9 Le 13/01/2010, à 01:52

Spirzouf

Re : [Résolu] utf-8 et python

Merci pour l'astuce !

Quelle galère pour finalement obtenir un PDF complet, mais c'est bon... Et la surprise en parcourant rapidement l'ouvrage, c'est actualisé pour Python 3 !

C'est sous CC By-Sa 3.0, donc je met en ligne la version française PDF ici : http://www.megaupload.com/?d=ALRACFAX

Hors ligne

#10 Le 13/01/2010, à 11:11

k3c

Re : [Résolu] utf-8 et python

J'avais eu la flemme de générer le PDF, excellent !

Il faut diffuser largement cette info !


Archlinux sur Xiaomi Air 13

Hors ligne

#11 Le 13/01/2010, à 12:50

Spirzouf

Re : [Résolu] utf-8 et python

hier soir, j'ai posté l'info sur l'épinglé concerné : http://forum.ubuntu-fr.org/viewtopic.php?id=352537

Hors ligne