Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: hora de practicar - Trabajando con Excepciones - Parte 2

[5]

respuestas = ['D', 'A', 'B', 'C', 'A']

def contabilizar_puntuaciones(lista, resp):
  try:
    alternativas_invalidas = []
    for test in lista:
      for i in range(len(test)):
        if test[i] not in ['A', 'B', 'C', 'D']:
          if test[i] not in alternativas_invalidas:
            alternativas_invalidas.append(test[i])

    if alternativas_invalidas:
      if len(alternativas_invalidas) == 1: #si solo una alternativa no es válida
        mensaje = "La alternativa " + ", ".join(alternativas_invalidas) + " no es válida."
      else:                                #si más de una alternativa no es válida
        mensaje = "Las alternativas " + ", ".join(alternativas_invalidas) + " no son válidas."
      raise ValueError(mensaje)
    
    puntuaciones = [sum([1 for i in range(len(test)) if test[i] == resp[i]]) for test in lista]
    
    return print(f"Lista de puntaciones: {puntuaciones}")

  except ValueError as e:
    print(e)


tests_sin_ex = [['D', 'A', 'B', 'C', 'A'], ['C', 'A', 'A', 'C', 'A'],
                ['D',   'B', 'A', 'C', 'A']]

tests_con_ex = [['D', 'A', 'B', 'C', 'A'], ['C', 'A', 'A', 'E', 'A'],
                ['D', 'B', 'A', 'C', 'A']]

print("Tests sin Excepciones: ".upper())
print(contabilizar_puntuaciones(tests_sin_ex, respuestas))
print("\nTest con excepciones: ".upper())
print(contabilizar_puntuaciones(tests_con_ex, respuestas))

[6]

def analizador_texto(lista):
  try:
    palabras_no_tratadas = []

    for palabra in lista:
      for caracter in palabra:
        if caracter in [',', '.', '!', '?']:
          palabras_no_tratadas.append(palabra)
          break  # Salta a la siguiente palabra

    if palabras_no_tratadas:
      mensaje = "El texto presenta puntuación en las siguientes palabras: " + ", ".join(palabras_no_tratadas)
      raise ValueError(mensaje)

    print("La lista está tratada:")

  except ValueError as e:
    print(e)



lista_tratada = ['Python', 'es', 'un', 'lenguaje', 'de', 'programación', 'poderoso', 'versátil',
                  'y', 'fácil', 'de', 'aprender', 'utilizado', 'en', 'diversos', 'campos', 'desde',
                  'análisis', 'de', 'datos', 'hasta', 'inteligencia', 'artificial']

lista_no_tratada = ['Python', 'es', 'un', 'lenguaje', 'de', 'programación', 'poderoso,', 'versátil',
                  'y', 'fácil,', 'de', 'aprender', 'utilizado', 'en', 'diversos', 'campos,', 'desde',
                  'análisis', 'de', 'datos', 'hasta', 'inteligencia', 'artificial!']   
        
print(analizador_texto(lista_tratada))
print(analizador_texto(lista_no_tratada))
1 respuesta

Hola , espero que estés muy bien.

Felicitaciones por tu aprendizaje. Estamos priorizando el foro para postear dudas, así optimizamos el tiempo de respuesta para ustedes.

Para no dejar de compartir los códigos, actividades y ejercicios que realizas, creamos un canal en Discord (#compartatucodigo) donde puedes compartirlos, dar y sugerir mejoras con el resto de tus compañeros.

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios