Affichage accents dans les listes en Python
Résolu/Fermé
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
-
9 févr. 2009 à 20:28
PetitPimousse - 10 mars 2009 à 17:08
PetitPimousse - 10 mars 2009 à 17:08
A voir également:
- Python accents français
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Wetransfer français - Télécharger - Téléchargement & Transfert
- WeTransfer gratuit : envoyer des fichiers via Internet - Guide
- Tubidy rap français - Forum Création et production musicale
- Chatgpt en français gratuit - Télécharger - Outils Internet
6 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
10 févr. 2009 à 09:11
10 févr. 2009 à 09:11
A lire impérativement concernant tes problème d'accents:
https://sebsauvage.net/python/charsets_et_encoding.html
https://sebsauvage.net/python/charsets_et_encoding.html
Utilisateur anonyme
9 févr. 2009 à 20:31
9 févr. 2009 à 20:31
Salut, c'est normal, ce qui est retourné est un objet string. Cet objet est codé. La fonction print se charge de décoder pour afficher.
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
9 févr. 2009 à 20:40
9 févr. 2009 à 20:40
Y'a-t-il un moyen alors de décoder l'objet string via la méthode append ou faut-il absolument extraire l'objet de la liste et le faire imprimer par print pour que l'affichage soit correct?
Utilisateur anonyme
9 févr. 2009 à 20:42
9 févr. 2009 à 20:42
Dans un programme on se sert en général de print pour afficher des résultats, pourquoi vouloir passer directement par l'objet? Puis cette chaîne tu dois l'afficher où? Sur la console? Dans une interface graphique?
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
9 févr. 2009 à 20:58
9 févr. 2009 à 20:58
En fait, j'utilise "print" mais pour afficher la valeur de la variable mise à jour par "append". Je voulais juste savoir s'il était possible d'afficher directement cette variable avec les bons caractères sans en extraire les éléments un à un.
exemple:
t3=['Janvier']
t3.append('Février']
print t3
La sortie va donner ['Janvier', 'F\xe9vrier'].
Est-il possible d'avoir directement la sortie: ['Janvier', 'Février']?
exemple:
t3=['Janvier']
t3.append('Février']
print t3
La sortie va donner ['Janvier', 'F\xe9vrier'].
Est-il possible d'avoir directement la sortie: ['Janvier', 'Février']?
Utilisateur anonyme
9 févr. 2009 à 21:15
9 févr. 2009 à 21:15
Là tu affiche un objet liste qui utilise lui même des objets chaîne, donc codés. Essaie de mettre peut être au début du code source :
# -*- coding=latin-1 -*-
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
9 févr. 2009 à 21:37
9 févr. 2009 à 21:37
Bien entendu, c'est la première chose que j'ai essayé avant de "poster" ce problème. J'ai même essayé plusieurs codages (utf-8, etc...)
Ça ne change rien...
Ça ne change rien...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
10 févr. 2009 à 14:43
10 févr. 2009 à 14:43
print "Mot de passe=","".join(mpd)
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
10 févr. 2009 à 16:43
10 févr. 2009 à 16:43
Alors je dois conclure que je ne peux pas afficher directement une liste avec des éléments comprenant des accents, il faut que j'extraie les éléments et que je passe par print pour chaque élément pour avoir un affichage décodé? C'est ça?
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
>
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
10 févr. 2009 à 17:06
10 févr. 2009 à 17:06
Non.
Pas besoin.
Exemple de code:
et dans une fenêtre Dos, je lance mon programm qui s'affiche très bien:
Pas besoin.
Exemple de code:
#!/usr/bin/python # -*- coding: iso-8859-1 -*- maliste = [u"bébé",u"tété",u"mémé"] print ' ; '.join(maliste)
et dans une fenêtre Dos, je lance mon programm qui s'affiche très bien:
c:\3>python a.py bébé ; tété ; mémé
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
>
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
10 févr. 2009 à 17:19
10 févr. 2009 à 17:19
Ça marche lorsqu'il n'y a que des mots dans la liste. Le problème c'est que ma liste comprend des "strings" et des "integer"... ce que la fonction "join" ne semble pas supporter:
TypeError: sequence item 1: expected string or Unicode, int found
TypeError: sequence item 1: expected string or Unicode, int found
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
>
ugluk
Messages postés
7
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
10 février 2009
10 févr. 2009 à 17:26
10 févr. 2009 à 17:26
ah ben oui, quand on mélange des pommes et des bananes :-)
#!/usr/bin/python # -*- coding: iso-8859-1 -*- maliste = [u"bébé",u"tété",5,u"mémé"] print ' ; '.join( [unicode(i) for i in maliste] )
10 févr. 2009 à 14:38
dis moi sais-tu comment je peux transformer une liste en chaine de caractere?
voici mon code:
def mdp_aleat():
print "Combien de caracteres?",
nb_caract=int(raw_input())
mdp=nb_caract*[0]
val=nb_caract*[0]
for i in range (nb_caract):
val[i]=random.randrange(random.randrange(48,90),random.randrange(97,122))
mdp[i]=chr(val[i])
print val, mdp
print "Mot de passe=",mdp
malheuresement, mdp me retourne une liste ms moi je voudrai recuperer une chaine de caratère.
Merci