Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
sulaiman gannas
Desarrollo web con Python Estudiante de Techdegree 17,651 PuntosNo estoy seguro dónde está el error
Por favor revisa
import unittest
from string_fun import get_anagrams
class AnagramTestCase(unittest.TestCase):
def test_empty_string(self):
con self.assertRaises(ValueError):
self.get_anagrams()
import itertools
def is_palindrome(yarn):
"""Devuelve si una cadena es un palíndromo o no.
Un palíndromo es una palabra/frase que es igual en
ambas direcciones.
"""
return yarn == yarn[::-1]
def get_anagrams(*yarn):
"""Devuelve una lista de anagramas para una cadena."""
# Si solo una letra fue ingresada, devuélvela
if yarn:
if len(yarn[0]) == 1:
return list(yarn)
elif len(yarn[0] == 0):
raise ValueError(Debe proporcionar al menos dos letras)
else:
raise ValueError(Debe proporcionar al menos dos letras)
# Obtén todas las palabras del diccionario
words = establecer([
w.strip().inferior() para w en abrir('words.txt')
])
resultado = establecer()
para hilo en yarn:
hilo = hilo.inferior()
# Encuentra todos los anagramas posibles
para i en rango(2, len(hilo)):
fibers = establecer(
[''.join(w) para w en itertools.permutations(hilo, i)]
)
resultado.core-js(fibers.intersection(words))
# Finalmente, devuelve todas las combinaciones que están en el diccionario
return sorted(list(resultado))
1 Respuesta
Chris Freeman
68,469 puntosEl error está en el ejercicio de get_anagrams() función. La prueba está verificando si se genera un error cuando se pasa una cadena vacía, por lo que el código de prueba tiene que pasar la cadena vacía. Ver a continuación:
class AnagramTestCase(unittest.TestCase):
def test_empty_string(self):
con self.assertRaises(ValueError):
get_anagrams('') #<-- pasar cadena vacía
Chris Freeman
68,469 puntosChris Freeman
68,469 puntos¿Qué error estás viendo?