Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

DESAFIO - HORA DE PRACTICAR

1

try: num1 = float(input("Ingresa el primer número decimal: ")) num2 = float(input("Ingresa el segundo número decimal: ")) resultado = num1 / num2 print(f"Resultado de la división: {resultado}") except ZeroDivisionError as e: print(f"Error: División por cero. {e}") except ValueError as e: print(f"Error: Entrada inválida. {e}")

2

edades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17} nombre = input("Ingresa el nombre a buscar: ") try: edad = edades[nombre] print(f"{nombre} tiene {edad} años.") except KeyError: print("Nombre no encontrado")

3

def convertir_a_float(lista): try: lista_convertida = [float(x) for x in lista] return lista_convertida except Exception as e: print(f"Ocurrió un error: {e}") finally: print("Fin de la ejecución de la función")

#print(convertir_a_float(['1.5', '2', 'a'])) #ValueError #print(convertir_a_float([1, 2.3, 4])) #bien

4

def agrupar_sumas(lista1, lista2): try: if len(lista1) != len(lista2): raise IndexError("La cantidad de elementos en cada lista es diferente.") resultado = [(a, b, a + b) for a, b in zip(lista1, lista2)] return resultado except Exception as e: print(f"Error: {e}")

lista1 = [4, 6, 7, 9, 10]

lista2 = [-4, 6, 8, 7, 9]

print(agrupar_sumas(lista1, lista2))

lista1 = [4, 6, 7, 9, 10, 4]

lista2 = [-4, 6, 8, 7, 9]

print(agrupar_sumas(lista1, lista2))

lista1 = [4, 6, 7, 9, 'A']

lista2 = [-4, 'E', 8, 7, 9]

print(agrupar_sumas(lista1, lista2))

5

def calificar_estudiantes(respuestas, tests): calificaciones = [] for i, prueba in enumerate(tests): try: if not all(r in ['A', 'B', 'C', 'D'] for r in prueba): for r in prueba: if r not in ['A', 'B', 'C', 'D']: raise ValueError(f"La alternativa {r} no es una opción de alternativa válida") nota = sum(1 for r, correcta in zip(prueba, respuestas) if r == correcta) calificaciones.append(nota) except ValueError as e: print(f"Error en prueba {i+1}: {e}") return detiene todo si hay error print("Notas:", calificaciones)

Probar:

respuestas = ['D', 'A', 'B', 'C', 'A'] 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']]

calificar_estudiantes(respuestas, tests_sin_ex)

calificar_estudiantes(respuestas, tests_con_ex)

6

def verificar_puntuacion(palabras): for palabra in palabras: if any(p in palabra for p in [',', '.', '!', '?']): raise ValueError(f'El texto presenta puntuaciones en la palabra "{palabra}"') print("Texto limpio, sin puntuación.")

Pruebas:

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']

verificar_puntuacion(lista_tratada) # OK

verificar_puntuacion(lista_no_tratada) # ValueError