#Ejercicio 1
""" Crear una lista con los números del 1 al 10. Acceder con el índice a la posición que contiene el número
5, e imprimirlo por pantalla. Recordar que el índice de las listas empiezan con 0. """
#alternativa 1
lista_numeros = []
for i in range(1,11):
lista_numeros.append(i)
print(lista_numeros)
#alternativa 2
lista_numeros_1 = list(range(1,11))
print(lista_numeros_1)
print(lista_numeros_1[4]) #trae el 5 que esta en la posicion 4
print(lista_numeros_1.index(5)) #pregunta cual es la posicion del numero 5
#Ejercicio 2
""" Con la lista del punto anterior, usar la función len() para averiguar su longitud, e imprimirla. """
longitud_lista = len(lista_numeros_1)
print(longitud_lista)
#Ejercicio 3
""" Crear una secuencia con números distintos, y luego devolver el elemento máximo y el mínimo. """
lista_numeros_distintos = [1,5,9,15,29,56,105,-4,0,8,94]
#Alternativa 1
if len(lista_numeros_distintos) > 0:
numero_maximo = lista_numeros_distintos[0]
for i in lista_numeros_distintos:
if i > numero_maximo:
numero_maximo = i
print("El numero maximo es:", numero_maximo)
else:
print("La lista esta vacia por lo que no tiene un numero maximo")
if len(lista_numeros_distintos) > 0:
numero_minimo = lista_numeros_distintos[0]
for i in lista_numeros_distintos:
if i < numero_minimo:
numero_minimo = i
print("El numero minimo es:", numero_minimo)
else:
print("La lista esta vacia por lo que no tiene un numero minimo")
#Alternativa 2
print(max(lista_numeros_distintos))
print(min(lista_numeros_distintos))
#Ejercicio 4
""" Ordenar la secuencia del ejercicio anterior, e imprimirla por pantalla. (ver funciones de listas) """
lista_numeros_distintos.sort()
print(lista_numeros_distintos)
#Ejercicio 5
""" Crear una tupla que guarde tu nombre y tu edad. Luego, imprimir por pantalla tu edad, accediendo al
elemento de la tupla que corresponda. """
nombre_y_edad = ("aleandro","21")
edad = nombre_y_edad[1]
print(edad)
#Ejercicio 6
""" Hacer una lista con 5 nombres, y realizar las siguientes actividades con la misma:
a. Cambiar el último elemento de la lista y cambiar el último nombre por “Juan”. Olvidándonos de
que sabemos que tiene 5 elementos, ¿Cómo podría saber cuál es el último elemento si no sé la
longitud?
b. Devolver el nombre que esté a dos posiciones del final. ¿Cómo hacemos para que nos funcione
para cualquier lista y no solo para la que tenga 5 elementos?
c. Recorrer la lista e imprimir cada nombre por pantalla.
d. Imprimir por pantalla la lista con 3 repeticiones, usar el operador repetición (*). """
lista_nombre = ["daniela", "paula", "rosina", "carina", "sonia"]
print(lista_nombre)
#a)
lista_nombre.pop()
print(lista_nombre)
lista_nombre.append("juan")
print(lista_nombre)
#b)
print(lista_nombre[-2])
#c)
for n in lista_nombre:
print(n)
#d)
print(3 * lista_nombre)
#Ejercicio 7
""" Se pide ahora crear 3 tuplas como las del ejercicio 5, con un nombre y una edad. A continuación,
guardarlas en una lista. Pensar, ¿De que nos servirá guardar las tuplas en una lista en vez de tenerlas
por separado? """
nombre_y_edad_persona1 = ("aleandro","21")
nombre_y_edad_persona2 = ("daniela","35")
nombre_y_edad_persona3 = ("patricia","68")
lista_personas = []
lista_personas.append(nombre_y_edad_persona1)
lista_personas.append(nombre_y_edad_persona2)
lista_personas.append(nombre_y_edad_persona3)
print(lista_personas)
# serviria por ejemplo para construir matrices.
#Ejercicio 8
""" Se quiere guardar información de los siguientes países: Francia, Argentina, Japón, Alemania, Perú.
a. Crear una tupla para cada país que contenga su nombre, su capital y el continente donde se
encuentra.
b. Guardar las tuplas en una lista.
c. Hacer una función que reciba por parámetros la lista, e imprima la información de cada país
con el siguiente formato:
País: <nombre>
Capital: <capital>
Continente: <continente>
Por ejemplo:
País: Japón
Capital: Tokio
Continente: Asia """
#a)
datos_francia = ("Francia","Paris","Europa")
datos_argentina = ("Argentina","Buenos Aires","America")
datos_japon = ("Japon","Tokio","Asia")
datos_alemania = ("Alemania","Berlin","Europa")
datos_peru = ("Peru","Lima","America")
#b)
#alternativa 1
lista_paises = []
lista_paises.append(datos_francia)
lista_paises.append(datos_argentina)
lista_paises.append(datos_japon)
lista_paises.append(datos_alemania)
lista_paises.append(datos_peru)
#alternativa 2
lista_paises_1 = [datos_francia, datos_argentina, datos_japon, datos_alemania, datos_peru]
#c)
#alternativa 1
def inf_paises(lista):
for i in lista:
p,c,x = i
print(f"Pais: {p}")
print(f"Capital: {c}")
print(f"Continente: {x}")
print("-"*10)
inf_paises(lista_paises)
#alternativa 2
def inf_paises_2(lista):
for i in lista:
print(f"Pais: {i[0]}")
print(f"Capital: {i[1]}")
print(f"Continente: {i[2]}")
print("-"*10)
inf_paises_2(lista_paises)
#Ejercicio 9
""" Una librería tiene un sistema que guarda los nombres de todos los libros que tienen en una lista de la
siguiente forma: [“El principito”, “It”, “Sherlock Holmes”...]. Se quiere saber cuántos libros repetidos
tienen. Hacer código que imprima para cada título, cuántos ejemplares hay.
Aclaración: No se sabe la cantidad de elementos que tiene la lista, la lista nombrada es solo un ejemplo. """
lista_libros = ["El principito", "It", "Sherlock Holmes","It","It","El principito"]
libros_invertariados = []
for i in lista_libros:
if i in libros_invertariados:
continue
else:
libros_invertariados.append(i)
cantidad_ejemplares = lista_libros.count(i)
print(f"{i}: {cantidad_ejemplares}")
#Ejercicio 10
""" Crear una lista que contenga los números del 1 al 10, luego recorrerla y guardar en otra lista esos
números elevados al cuadrado. """
lista_num = list(range(1,11))
print("Lista: ", lista_num)
#alternativa 1
lista_num_al_cuadrado = []
for i in lista_num:
cuadrado=i**2
lista_num_al_cuadrado.append(cuadrado)
print("Nueva lista: ", lista_num_al_cuadrado)
#alternativa 2
def cuadrado_1(numero):
return numero ** 2
lista_num_2 = list(range(1,11))
print("Lista: ", lista_num_2)
lista_num_al_cuadrado_2 = list(map(cuadrado_1, lista_num_2))
print("Nueva lista: ", lista_num_al_cuadrado_2)
#Ejercicio 11
""" Se tiene la siguiente lista de palabras: [“entender”, “pueden”, “humanos”, “los”, “que”, “código”,
“escriben”, ”programadores”, “buenos”, “Los”, “entiende.”, “computadora”, “una”, “que”, “código”,
“escribe”, “tonto”, “Cualquier”]. Hacer una función que reciba una lista, y devuelva un string uniendo
las palabras desde el final de la lista hasta el principio con un “ ” (espacio) entre cada una, para formar
la frase. (ver funciones de listas y strings). """
palabras = ["entender", "pueden", "humanos", "los", "que", "código",
"escriben", "programadores", "buenos", "Los", "entiende.", "computadora", "una", "que", "código",
"escribe", "tonto", "Cualquier"]
#alternativa 1
def unir_palabras(lista):
oracion = ""
for i in lista:
oracion = i + " " + oracion
return oracion
print(unir_palabras(palabras))
#alternativa 2
def unir_palabras_1(lista):
lista.reverse()
oracion_1 = " ".join(lista)
return oracion_1
print(unir_palabras_1(palabras))
#Ejercicio 12
""" Se quiere hacer un sistema en la facultad para que un alumno pueda ir guardando las materias que va
haciendo. Para eso, crear una función que le pregunte al usuario la materia que quiere almacenar, e ir
guardando la información en una lista hasta que ingrese una ‘X’. ¿Qué funciones de listas no permiten
insertar en una lista? """
lista_materias = []
materia = 1
while materia != "x":
materia = input("Ingrese la materia hecha o presione 'x' para terminar: ")
if materia != "x":
lista_materias.append(materia)
print(lista_materias)
#Ejercicio 13
""" Se tiene un ticket de supermercado que se puede representar como una lista de tuplas (producto,
precio).
a. Hacer una función que reciba la lista, calcule y devuelva el total que hay que pagar.
b. Ahora se tienen dos tickets. Juntar ambos y volver a calcular el total.
Un ejemplo de lista puede ser: [(“Detergente”, 123), (“Jabón Líquido”, 456)] y nos tendría que devolver
579. (No copien y peguen la lista de la guía, porque hay caracteres que no los va a reconocer el editor
de texto). """
#a)
def calcular_total_ticket(ticket):
total = 0
for i in ticket:
total += i[1]
return total
#b)
ticket1 = [("harina",10) , ("aceite",15) , ("pepsi",55)]
ticket2 = [("papa",1) , ("tomates",2) , ("yerba",3)]
#alternativa 1
total_ticket1 = calcular_total_ticket(ticket1)
total_ticket2 = calcular_total_ticket(ticket2)
total_tickets = total_ticket1 + total_ticket2
print(total_tickets)
#alternativa 2
lista_tickets = [ticket1, ticket2]
total_tickets_3 = 0
for i in lista_tickets:
valor_ticket_individual = calcular_total_ticket(i)
total_tickets_3 += valor_ticket_individual
print(total_tickets_3)