1
try:
a = float(input("Primer número: "))
b = float(input("Segundo número: "))
resultado = a / b
print("Resultado:", resultado)
except ZeroDivisionError:
print("No se puede dividir entre cero.")
except ValueError:
print("Solo se aceptan números.")
except Exception as e:
print("Error:", type(e).name)
2
edades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
try:
nombre = input("Nombre: ")
valor = edades[nombre]
print("Edad de", nombre, ":", valor)
except KeyError:
print("Nombre no encontrado")
3
def convertir_a_flotante(lista):
try:
nueva = [float(x) for x in lista]
return nueva
except Exception as e:
print("Error:", type(e).name)
finally:
print("Fin de la ejecución de la función")
print(convertir_a_flotante([2, 4, 5.5, "9"]))
print(convertir_a_flotante([2, "a", 5]))
4
def combinar_listas(a, b):
try:
if len(a) != len(b):
raise IndexError("La cantidad de elementos en cada lista es diferente.")
lista = [(a[i], b[i], a[i] + b[i]) for i in range(len(a))]
return lista
except Exception as e:
print("Error:", type(e).name, "-", e)
lista1 = [4, 6, 7, 9, 10]
lista2 = [-4, 6, 8, 7, 9]
print(combinar_listas(lista1, lista2))
lista1 = [4, 6, 7, 9, 10, 4]
lista2 = [-4, 6, 8, 7, 9]
print(combinar_listas(lista1, lista2))
lista1 = [4, 6, 7, 9, 'A']
lista2 = [-4, 'E', 8, 7, 9]
print(combinar_listas(lista1, lista2))
5
def notas_estudiantes(respuestas, pruebas):
try:
for prueba in pruebas:
for alt in prueba:
if alt not in ['A', 'B', 'C', 'D']:
raise ValueError(f"La alternativa {alt} no es una opción de alternativa válida")
notas = [sum(1 for r, p in zip(respuestas, prueba) if r == p) for prueba in pruebas]
return notas
except ValueError as e:
print("Error:", e)
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']]
print(notas_estudiantes(respuestas, tests_sin_ex))
print(notas_estudiantes(respuestas, tests_con_ex))
6
def revisar_puntuacion(lista):
try:
for palabra in lista:
if any(simbolo in palabra for simbolo in [',', '.', '!', '?']):
raise ValueError(f'El texto presenta puntuaciones en la palabra "{palabra}"')
print("Texto limpio, sin puntuaciones.")
except ValueError as e:
print("Error:", 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!']
revisar_puntuacion(lista_tratada)
revisar_puntuacion(lista_no_tratada)