Este es el código:
# - *- coding: utf-8 *- -
formatter = "%r %r %r %r"
print formatter % (1, 2, 3, 4)
print formatter % ("one", "two", "three", "four")
print formatter % (True, False, False, True)
print formatter % (formatter, formatter, formatter, formatter)
print formatter % (
"i had this thing.",
"that you could type up right.",
"but it didn´t sing.",
"so I said goodnight."
)
pero al cargarlo en cmd me sale:
but it didn\xc2\xb4 en vez de salirme but it didn´t sing. ¿Alguien sabe porque?
Cita de: bonzay en 1 Mayo 2017, 16:54 PM
but it didn\xc2\xb4 en vez de salirme but it didn´t sing. ¿Alguien sabe porque?
Bueno, antes que nada cabe mencionar que para empezar la palabra está mal escrita puesto que estás usando un diacritico agudo; en su lugar deberías usar una comilla (
didn't ) y fin de todos tus problemas.
Con respecto a lo que te sucede, se debe a que estás usando el especificador
%r (
repr() ) y esto genera una representación evaluable/compilable del objeto, en este caso del caracter especial (
´ ) del set de caracteres Latin1/Windows-1252, generando la secuencia de bytes unicode de dicho caracter. Para solucionarlo sencillamente no uses
%r, utiliza el especificador
%s (
str() ) para devolver una representación literal de los caracteres que componen al string.
PD: Quizás haya otras formas de solucionarlo sin reemplazar el uso de
%r, no domino mucho Python.
- https://docs.python.org/2/library/functions.html#repr
- https://docs.python.org/2/library/functions.html#str
el ´ que tienes no es un apostrofe inglés ' , es un acento español, esto no es un caracter ascii, por lo que supongo estás en windows y según ya explicó elektro en un tema, la cofificación a usar no es utf8 en ese caso
https://foro.elhacker.net/buscador-t466577.0.html (https://foro.elhacker.net/buscador-t466577.0.html)
Muchas gracias lo del acento me quedo claro el resto del % no entendi nada, me estoy iniciando en python yo solo con un libro de Zed A. Shaw traducido al español :rolleyes:
solo llego a saber que %s se usa para cadenas de letras y %r no le pillo aún el uso porque según lei para entenderlo es un código genérico que sirve para todo.