Ejercicios con listas y ciclos repetitivos
Solicite los elementos de una lista al usuario y calcule el promedio de
sus números, haga 2 funciones una para carga de datos y otra para
suma, promedio.
Dada una lista indique cual es el mayor elemento de la lista, sin usar la
función max(), trabaje con funciones
Dada una lista y un número para comparar, haga una
función que clasifique en 3 listas mayores, menores e
iguales. Y también nos indique el número de
elementos de que tiene cada una.
Ejemplo
Lista=[3,6,7,4,9,5]
Comparar=4
Mayores=[6,7,9,5] contar_ma=4
Menores=[3] contar_me=1
Iguales=[4] contar_igu=1
Carga_lista(numero)
Clasifica_lista(lista)
Cuenta_elem_lista(lista1, lista2, lista3) no haga
Intefaz()
Ejercicios
Dado 2 listas cargadas con información randómica haga una función que
sume los elementos de ellas y me devuelva como respuesta en una
nueva lista. Ejemplo
Lista1=[2,4,5,6]
Lista2=[5,7,3,7]
ListaRespuesta=[7,11,8,13]
Ejercicios
Dada una lista que contiene los precios cargados en forma randómica
haga una función que me calcule la lista descuento según el siguiente
criterio.
Si el precio es mayor a 10 y menor a 20 descuento es 5%
Si precio es menor a 10 descuento es 3%
Y si precio es mayor a 20 descuento es 8%
Lista=[5,15,30]
Lista_descuento=[0.15,0.75,1.6]
Ejercicios
• Haga una función que recorra una lista y remplace por un nuevo
valor, todos los elementos iguales al buscado al existir coincidencias.
• Ejemplo
• Lista=[4,7,4,6,8] input
• Buscar=4 input
• Reemplazar=24 input
• Lista=[24,7,24,6,8] out
Asignación múltiple
Otra de las ventajas que Python nos provee, es la de poder asignar en
una sola instrucción, múltiples variables:
nombre, edad, licencia = 'María', 15, True
En una sola instrucción, estamos declarando tres variables:
nombre, edad, licencia y asignándoles un valor concreto a cada una:
print(nombre) # Salida María
print (edad) # Salida 15
print (licencia) # Salida True
print(nombre, edad, licencia)
La asignación múltiple de variables, también puede darse utilizando como
valores, el contenido de una tupla:
mi_tupla = ('hola mundo',2011)
texto, anio = mi_tupla
print (texto)
print (anio)
O también, de una lista:
mi_lista = ['Argentina', 'Buenos Aires']
pais, provincia = mi_lista
print (pais)
print (provincia)
Manejo de errores
Cualquier cosa que pueda salir mal, saldrá mal . Esta es la ley
de Murphy, y funciona en todas partes y siempre.
La ejecución de su código también puede salir mal. Si puede, lo
hará. Hay al menos dos formas posibles de que "salga mal".
¿Puedes verlos?
import math
x = float(input("Ingrese x: "))
y = math.sqrt(x)
print("La raíz cuadrada de ", x, "es igual a ", y)
ZeroDivisionError
Ejecute el programa (obviamente incorrecto).
value = 1
value =value/ 0
Verá el siguiente mensaje en respuesta:
Traceback (most recent call last):
File "div.py", line 2, in value /= 0 ZeroDivisionError: division by zero
IndexError
¿Qué pasará cuando lo ejecutes?
list = [ ]
x = list[0]
Verá el siguiente mensaje en respuesta: Traceback (most recent call
last):
File "lst.py", line 2, in x = list[0]
IndexError: list index out of range
Exceptions / Excepciones
Cada vez que su código intenta hacer algo mal o inaplicable, Python hace
dos cosas:
1. detiene su programa ;
2. crea un tipo especial de datos, llamado excepción .
Ambas actividades se llaman plantear una excepción. Podemos decir que
Python siempre genera una excepción cuando no tiene idea de qué hacer
con su código.
Python proporciona herramientas efectivas que le permiten observar
excepciones, identificarlas y manejarlas de manera eficiente. Esto es
posible debido al hecho de que todas las excepciones potenciales tienen
sus nombres inequívocos, por lo que puede clasificarlos y reaccionar
adecuadamente
Ejemplo de manejo de errores sin usar Try
primerNum = int(input("Ingrese el primer número: "))
segundoNum = int(input("Ingresa el segundo número: "))
if segundoNum != 0:
print(primerNum / segundoNum)
else:
print("Esta operación no puede ser realizada.")
print("Fin.")
Es cierto que esta forma puede parecer la más natural y comprensible,
pero en realidad, este método no facilita la programación. Todos estos
controles pueden hacer que su código esté ilegible .
¿Cómo manejar las excepciones?
La palabra try es clave para la solución.
La receta para el éxito es la siguiente:
1. primero, tiene que intentar hacer algo ;
2. a continuación, debe verificar si todo salió bien.
Python prefiere un enfoque completamente diferente.
Mire el código en el editor. Le ayudará a comprender
este mecanismo
try:
print("1")
x=1/0
print("2")
except:
print("Hubo un error.")
print("3")
Ejemplo de uso de Try
try:
x = int(input("Ingrese un número: "))
y=1/x
print(y)
except ZeroDivisionError:
print("no puede haber división para cero.")
except ValueError:
print("Error en el dato.")
except:
print("Tiene un error...")
print("FIN.")
Notas
• Las ramas except se buscan en el mismo orden en que aparecen en el
código.
• No debe usar más de un, except con un cierto nombre de excepción;
• La cantidad de except diferentes es arbitraria: la única condición es qué
si usa try, debe colocar al menos una except (con o sin nombre);
• La palabra clave except no debe usarse sin un precedente try;
• Si except se ejecuta en alguna de las opciones, no se visitarán las
otras;
• Si ninguna de las opciones de except especificadas coincide con la
excepción planteada, la excepción no se controla
• Si existe una opción de except sin nombre, debe especificarse como la
última.
Ejemplos
try:
y=1/0
except ZeroDivisionError:
print("Zero Division!")
except ArithmeticError:
print("Arithmetic problem!")
try:
print("THE END.")
y=1/0
except ArithmeticError:
print("Arithmetic problem!")
except ZeroDivisionError:
print("Zero Division!")
print("THE END.")
Ejercicios con Tuplas
Haga una función que cree una tupla estudiante que tenga nombre,
curso y edad.
Haga una función que dado un N y forme una lista N tuplas.
Haga una función que dado un N datos al usuario y forme una tupla de
listas