La Practica hace al maestro. 8


#1




Cuando se ingresa algo con signos de exclamacion me tira este error:
¡Uy! Probá otra vez. Tu función falló cuando se ingresó ¡Hola mira palabras! como entrada porque tu función arroja a "'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)" error.

¿Qué es lo que funciona mal?


def anti_vocal(texto):
    b = []
    for i in range(len(texto)):
        i = texto[i]
        if i.lower() not in "aeiou":
            b.append(i)
        else:
            None
    print "".join(b)


#2

Suele pasar en esta parte del curso porque el compilador de la lección no soporta los caracteres especiales, la solución (en la vida real?) sería importar una librería que maneje los caracteres utf8, pero por aquí sólo alcanza con evitarlos y utilizar solamente letras!


#3

Para convertir la lista B en cadena sin usar Join (y no tener problemas con ascii):

    texto2=""   
    for item in B:
        texto2 = texto2 + item
    return texto2

#4

Con la solucion que propones consigues quitar el problema de la ! pero no el de la ¡.
Uy! Probá otra vez. Tu función falla en anti_vocal("¡Hola mira palabras!) Donde tu función devuelve: “Hl mr plbrs!” Cuando debería devolver: “¡Hl mr plbrs!”
¿hay alguna forma de poner ¡ sin que de error? este no es un caracter ascci, no consigo que me de el ejercicio por bueno.