Comment puis-je obtenir un °
(degré) dans une chaîne?Comment obtenir le caractère ° dans une chaîne en python?
Répondre
Mettez cette ligne en haut de votre source
# -*- coding: utf-8 -*-
Si votre éditeur utilise un codage différent, substitut pour utf-8
Ensuite, vous pouvez inclure caractères UTF-8 directement dans la source
En supposant que votre éditeur fasse UTF-8. Si votre éditeur utilise un jeu de caractères différent, indiquez-le à la place. –
# - * - Codage: cp1252 - * - est ce qui a fonctionné pour moi – Richard
>>> u"\u00b0"
u'\xb0'
>>> print _
°
BTW, tout ce que j'ai fait était de chercher "unicode degree" sur Google. Ceci nous amène à deux résultats: "signe degré U + 00B0" et "degré Celsius U + 2103", qui sont en fait différents:
>>> u"\u2103"
u'\u2103'
>>> print _
℃
Ou juste 'a = '\ u00b0'' en Python 3. – JAB
@JAB: ou juste' a =' ° ''. – SilentGhost
@SilentGhost: Eh bien oui, mais je ne me rappelais pas le code du pavé numérique pour ° et je n'avais pas envie de le regarder à ce moment-là. – JAB
C'est le plus coder- Version imprimable de spécifier un caractère unicode:
degree_sign= u'\N{DEGREE SIGN}'
Note: doit être un N majuscule dans la construction \N
pour éviter toute confusion avec le « \ n » retour à la ligne. Le nom du personnage à l'intérieur des accolades peut être n'importe quel cas.
Il est plus facile de se souvenir du name d'un caractère que de son index unicode. C'est aussi plus lisible, ergo débogage-amical. La substitution de caractères se produit au moment de la compilation: le fichier .py[co]
contiendra une constante pour u'°'
:
>>> import dis
>>> c= compile('u"\N{DEGREE SIGN}"', '', 'eval')
>>> dis.dis(c)
1 0 LOAD_CONST 0 (u'\xb0')
3 RETURN_VALUE
>>> c.co_consts
(u'\xb0',)
>>> c= compile('u"\N{DEGREE SIGN}-\N{EMPTY SET}"', '', 'eval')
>>> c.co_consts
(u'\xb0-\u2205',)
>>> print c.co_consts[0]
°-∅
il suffit d'utiliser \xb0 (in a string);
python convertira automatiquement
réponses ci-dessus supposent que UTF8 peut être utilisé sans danger - celui-ci est spécifiquement ciblé pour Windows.
La console Windows utilise le codage CP850 et normaly pas UTF8, donc si vous essayez d'utiliser un fichier source codée UTF8, vous obtenez ces 2 (incorrects) caractères ┬░
au lieu d'un degré °
.
Démonstration (en utilisant 2,7 python dans une console de fenêtres):
deg = u'\xb0` # utf code for degree
print deg.encode('utf8')
délivre efficacement ┬░
.
Fix: il suffit de forcer le codage correct (ou mieux utiliser unicode):
local_encoding = 'cp850' # adapt for other encodings
deg = u'\xb0'.encode(local_encoding)
print deg
ou si vous utilisez un fichier source qui définit explicitement un codage:
# -*- coding: utf-8 -*-
local_encoding = 'cp850' # adapt for other encodings
print " The current temperature in the country/city you've entered is " + temp_in_county_or_city + "°C.".decode('utf8').encode(local_encoding)
- 1. Comment modifier un seul caractère dans une chaîne, en Python?
- 2. Comment obtenir le premier caractère d'une chaîne dans SQL?
- 3. Remplacement d'un caractère d'une chaîne en python
- 4. Caractère générique correspondant à une chaîne dans Python regex search
- 5. Comment convertir un caractère accentué dans une chaîne unicode en son code de caractère Unicode en utilisant Python?
- 6. Comment rechercher un caractère spécial dans une chaîne en javascript?
- 7. Comment ajouter un caractère dans une chaîne (en utilisant vC++)?
- 8. Diviser une chaîne en python
- 9. gauche d'un caractère dans une chaîne en C#
- 10. Comment trouver l'index d'un caractère dans une chaîne en C?
- 11. comment remplacer un caractère dans une chaîne en javascript
- 12. Comment diviser une chaîne avec le caractère majuscule dans l'iPhone
- 13. Comment trouver le premier caractère dans une chaîne C++
- 14. Recherche du caractère le plus fréquent dans une chaîne
- 15. Comment écho une chaîne avec chaque caractère en PHP?
- 16. Python: Supprimer un caractère d'une chaîne
- 17. Comment convertir une chaîne C++ en un caractère *?
- 18. Comment convertir des octets dans une chaîne en entiers? Python
- 19. Comment vérifier si un caractère est en majuscule en Python?
- 20. Comment remplacer des instances répétées d'un caractère avec une seule instance de ce caractère en python
- 21. Comment lire le caractère d'une chaîne séparément dans iOS sdk?
- 22. obtenir octets de chaîne unicode en python
- 23. Comment séparer une chaîne en Python?
- 24. Recherche d'un caractère dans une chaîne
- 25. Comment concat une chaîne en Python
- 26. Enfin un caractère dans une chaîne en VB.NET
- 27. Comment remplacer la citation "et le caractère de trait d'union dans une chaîne avec rien en Python?
- 28. Python Trouver barre oblique dans une chaîne
- 29. python-mysql: Comment obtenir une chaîne de requête interpolée?
- 30. Obtenir deux caractères de la chaîne en python
S'il vous plaît voir [cette réponse] (http://stackoverflow.com/a/37678518/4099593) si vous essayez d'imprimer le signe degré sur un système *** Windows ***. –