Trabajo Práctico 4y5 Python
Trabajo Práctico 4y5 Python
Trabajo Práctico 4y5 Python
LISTAS y CICLOS
GRUPO NUMERO3
Integrantes:
Gaspanello Oriana Ayelen-01322(Ing. de Minas)
Vivanco Raúl-01798 (Ing. En Agrimensura)
Sacaba Héctor Mariano-44571460 (Ing. En Agrimensura)
Rojas Gabriela Anahi-01331 (Ing. De Minas)
Gutiérrez Dario-01575 (Ing. En Agrimensura)
Referente:
Rojas Gabriela Anahi Materia: Fundamentos de Informática Año: 2022
EJERCICIO 1:
"Realice un código que permita al usuario ingresar una palabra y la muestre
por pantalla 10 veces. La parable debe cumplir las siguientes condiciones.
Contener una letra ‘s’ y tener un mínimo de 8 caracteres. En caso que no
cumpla mostrar un error y terminar el programa."
def principal():
palabra_s = (input("ingrese una palabra con mas de 8 letras y que
contenga una letra s: "))
for i in range(10) :
print(palabra_s)
mostrar = len(palabra_s)
principal()
EJERCICIO 2:
EJERCICIO 3:
#Trabajo Practico N°4Y5
#Ejercicio N°3
'''Escriba un programa que almacene la cadena de caracteres contraseña en
una variable, pregunte al usuario
por la contraseña hasta que introduzca la contrasña correcta, con la
excepción de que si se equivoca 4 veces.
Mostrar un mensaje de ususario bloqueado y terminar el programa. '''
def principal():
print ("Ingrese la Contraseña, tiene 4 intento ")
contraseña = '1234'
contador =0
while True:
Pedir = input("Ingrese la Contraseña:")
contador+=1
if Pedir == contraseña:
print("!Contraseña Correcta¡, Bienvenido")
break
elif contador <4:
print("Contraseña Incorrecta. Intente de Nuevo")
else:
print("A superado los 4 intentos, !USUARIO BLOQUEADO¡, por favor
comuniquese con un Operador")
break
principal()
EJERCICIO 4:
#Ejercicio N°4
'''Escribir un programa que dadas una cierta cantidad de personas que se
desconoce, ingrese los datos sexo
y edad. Se pide: '''
#Promedio general de edades
#Promedio de edades de mujeres
#Procentaje de varones y porcentaje de mujeres
#Porcentaje final
mujeres = Porcentaje_mujeres / personas * 100
print (f"El porcentaje de mujeres es: {mujeres} %")
EJERCICIO 5:
"""Elaborar un código para calcular el promedio de calificaciones de un
estudiante. Los datos disponibles para lectura son el nombre, calificacion1,
calificacion2, calificacion3
y calificación4 de cada uno de los cuatro exámenes presentados. La
información que se debe imprimir es el nombre, el promedio de las
calificaciones y un comentario de “Aprobado”
si obtiene 6 o más, o “Reprobado” en caso contrario. El promedio se obtiene
sumando las cuatro calificaciones y dividiendo la suma entre 4, Además debe
imprimir el promedio general
de todas las notas."""
def principal():
lst_calificacion=[]
calificacion1= int(input("Ingrese calificacion1: "))
lst_calificacion.append(calificacion1)
calificacion2= int(input("Ingrese calificacion2: "))
lst_calificacion.append(calificacion2)
calificacion3= int(input("Ingrese calificacion3: "))
lst_calificacion.append(calificacion3)
calificacion4= int(input("Ingrese calificacion4: "))
lst_calificacion.append(calificacion4)
promedio_y_situacion= calcular_promedio_y_situacion(lst_calificacion)
def calcular_promedio_y_situacion(lst_calificacion_aux):
suma= sum (lst_calificacion_aux)
prom= suma / len (lst_calificacion_aux)
print("ingrese el nombre del alumno:")
nombre = input()
print ("el promedio de",nombre,"es:",prom)
if prom < 6:
print("Desaprobado")
else:
print("Aprobado")
principal()
EJERCICIO 6:
"""Realice un código que permita determinar la cantidad de números pares,
impares y nulos
el programa termina dependiendo de si el usuario desea seguir ingresando
números para su análisis."""
lst_numeros=[]
num= int(input("Ingrese numero entero: "))
if num % 2 == 0:
print ("El numero ",num, "es par" )
else:
print ("El numero ",num, "es impar" )
while num!=0:
lst_numeros.append(num)
num= int(input("Ingrese numero entero: "))
if num % 2 == 0:
print ("El numero ",num, "es par" )
else:
print ("El numero ",num, "es impar" )
print(lst_numeros)
EJERCICIO 7:
'''En una empresa se tienen 15 vendedores del tipo 1 Electrodomésticos, tipo
2 Indumentaria, 3 Alimentos,
tipo 4 Perfumería. Por cada vendedor se tiene su nombre y cantidad vendida
en pesos por cada uno de
los 20 días que trabajó. Elaborar un algoritmo que lea esos datos e imprima
el siguiente reporte.'''
electrodomesticos= {}
indumentaria= {}
alimentos= {}
perfumeria= {}
vendedores= {}
def Vendedor():
for i in range(15):
nombre= input("Ingrese el nombre del vendedor/ra: ")
area= input("Ingrese el area al que se dedica el vendedor/ra: ")
dinero= float(input("Ingrese la cantidad de reporte del vendedor/ra:
"))
def Principal():
print("\nDe que sector quiere saber el reporte?")
print("1.- Electrodomesticos")
print("2.- Indumentaria")
print("3.- Alimentos")
print("4.- Perfumeria")
print("5.- Salir")
x=True
while x == True:
try:
opcion=int(input("Ingrese una opcion: "))
if opcion > 0 or opcion < 6:
x= False
if opcion == 1:
for clave in electrodomesticos:
print(f"Nombre: {clave}\nDinero recaudado:
{electrodomesticos[clave]}$")
input("Apriete cualquier letra para volver al menu:
")
Principal()
elif opcion == 2:
for clave in indumentaria:
print(f"Nombre: {clave}\nDinero recaudado:
{electrodomesticos[clave]}$")
input("Apriete cualquier letra para volver al menu:
")
Principal()
elif opcion == 3:
for clave in alimentos:
print(f"Nombre: {clave}\nDinero recaudado:
{electrodomesticos[clave]}$")
input("Apriete cualquier letra para volver al menu:
")
Principal()
elif opcion == 4:
for clave in perfumeria:
print(f"Nombre: {clave}\nDinero recaudado:
{electrodomesticos[clave]}$")
input("Apriete cualquier letra para volver al menu:
")
Principal()
else:
print("Usted eligio la opcion salir... Hasta luego :)")
break
else:
print("Ingreso una opcion que se encuentra en el menu.
Intente de nuevo")
except Exception as e:
print("Ocurrio un error! de tipo --->", type(e)._name_)
#Por ultimo llamamos a las funciones
Vendedor()
Principal()
EJERCICIO 8:
#Dada una lista de 5 elementos ingresados por el usuario, con la edades
distintas de cada anciano de un geriatrico,
#se pide determinar:
# Un método que cargue en una lista de 5 elementos (No recibe en parámetros
y retorna valor)
# Un método que indique con un mensaje “Hay al menos un centenario” si
tenemos alguna persona con más de 100 años,
#caso contrario “No hay centenario” (Recibe en parámetros y no retorna
valor)
def principal():
lst_notas_p1 = [5,7,9,10,6]
lst_notas_p2 = [6,5,6,10,10]
lst_notas_p3 = [8, 9, 5, 5, 9]
print(calculo_de_promedio(lst_notas_p1,lst_notas_p2,lst_notas_p3))
def calculo_de_promedio(lst_notas_p1_aux,lst_notas_p2_aux,lst_notas_p3_aux):
lista_promedio=[]
for i in range(5):
lista_promedio.append(round((lst_notas_p1_aux[i] +
lst_notas_p2_aux[i] + lst_notas_p3_aux[i])/3,2))
return lista_promedio
principal()
EJERCICIO 10:
"Dada las siguientes listas con tiempos (minutos) y
distancia(Metros),lst_tiempo = [150, 200, 187, 142],lst_distancia = [30000,
90000, 51000, 88000]"
"● Se requiere calcular la velocidad en Km/h Crear un método que indique la
velocidad de cada elemento (Recibe en parámetros y retorna valor)"
"● Una vez obtenida determinar la posición del mayor elemento.Crear un
método que indique la velocidad máxima (Recibe en parámetros y No retorna
valor)"
"Resultado esperado=[12.0, 27.0, 16.363636363636363, 37.183098591549296].
Velocidad máxima es 37.183098591549296"
#Salida: Lista de velocidades y su mayor elemento.
#Entrada: No se ingresa datos.
#Supuestos: -
def velocidad_km_h(l_tiempos,l_distancias):
velocidades = []
vel_1 = (l_distancias[0] / 1000) / (l_tiempos[0] / 60)
velocidades.append(vel_1)
vel_2 = (l_distancias[1] / 1000) / (l_tiempos[1] / 60)
velocidades.append(vel_2)
vel_3 = (l_distancias[2] / 1000) / (l_tiempos[2] / 60 )
velocidades.append(vel_3)
vel_4 = (l_distancias[3] / 1000 ) / (l_tiempos[3] / 60 )
velocidades.append(vel_4)
return velocidades
def vel_max(lista_v):
print("La velocidad maxima es:", max(lista_v))
def principal():
lst_tiempos = [150, 200, 187, 142,]
lst_dist = [30000, 90000, 51000, 88000]
vel = velocidad_km_h (lst_tiempos,lst_dist)
print("Las velocidades son:", vel , "Km/h")
velocidad_maxima = vel_max (vel)
principal()
EJERCICIO 11:
"Hacer un algoritmo que obtenga y cargue una lista de valores resultante, a
partir de la ecuación, según los valores de la lista lst_valores_x = [-1, -
3, 0, 3,1,2]"
# entrada : cargar una lista de valores donde :
# lst_valores_x = [-1 , -3 , 0 , 3 , 1 , 2]
# y = x^2 + 7x -15
# salida = recibe en parametros y no retorna valor
# (no utilizar el metodo append)
# supuesto = resultados esperados [-21 , -27 , -15 , 15 , -7 , 3]
def principal():
lst_valores_x = [-1 , -3 , 0 , 3 , 1 , 2]
resultados_esperados = [-21 , -27 , -15 , 15 , -7 , 3]
x = int(input("ingresar numeros de lista de valores:"))
ecuacion = x*x + 7*x - 15
for i in range(0 , 1):
cont = ecuacion + i
print(cont)
x = int(input("ingresar numeros de lista de valores:"))
ecuacion = x*x + 7*x - 15
for i in range(0 , 1):
cont = ecuacion + i
print(cont)
x = int(input("ingresar numeros de lista de valores:"))
ecuacion = x*x + 7*x - 15
for i in range(0 , 1):
cont = ecuacion + i
print(cont)
x = int(input("ingresar numeros de lista de valores:"))
ecuacion = x*x + 7*x - 15
for i in range(0 , 1):
cont = ecuacion + i
print(cont)
x = int(input("ingresar numeros de lista de valores:"))
ecuacion = x*x + 7*x - 15
for i in range(0 , 1):
cont = ecuacion + i
print(cont)
x = int(input("ingresar numeros de lista de valores:"))
ecuacion = x*x + 7*x - 15
for i in range(0 , 1):
cont = ecuacion + i
for i in range(0 , 1):
cont = ecuacion + i
print(cont)
print("los resultados son:" , resultados_esperados )
principal()
EJERCICIO 12:
"Dada las siguientes listas correspondiente a la Nombre, Edad, y Sexo.
lst_nombre = [‘Lorena’, ‘German’, ‘Martha’, ‘Jose Luis’] lst_edad = []
lst_sexo = [‘F’, ‘M’, ‘F’, ‘M’]"
# entrada : dadas las siguientes litas :
# lst_nombres = ["lorena" , "german" , "martha" , "jose luis"]
# lst_edad = []
# lst_sexo = ["f" , "m" , "f" , "m"]
def cargar_lst_edad():
lst_edad = []
lst_edad.append(26)
lst_edad.append(24)
lst_edad.append(30)
lst_edad.append(22)
print (lst_edad)
return lst_edad
cargar_lst_edad()
def nombre_de_personas_con_menor_edad():
lst_nombres = ["lorena" , "german" , "martha" , "jose luis"]
print("el nombre de menor edad es:" , lst_nombres[3])
nombre_de_personas_con_menor_edad()
def sexo_de_persona_con_menor_edad():
lst_sexo = ["f" , "m" , "f" , "m"]
print("el sexo de menor edad es:" , lst_sexo[3])
sexo_de_persona_con_menor_edad()
EJERCICIO 13:
"Diseñe un algoritmo que cargue una lista, con las notas de los alumnos que
en total son 10 se pide:"
#Unos métodos para cargar las listas necesarias (No recibe en parámetros,
devuelve valor es decir la lista)
#Un método para cantidad de personas que sacaron 10 (Como desee)
#Un método para cantidad de regulares (Como desee)
#Un método para el promedio general (Como desee)
#Un método para indicar cual es el porcentaje de alumnos excelentes (Como
desee)
#Para estar regular el alumno deberá cumplir que la nota sea mayor o igual a
5
#Al probar el código, cambie por cantidad menor
def principal():
lista_notas = carga_de_notas()
cantidad_personas_con_10(lista_notas)
print(cantidad_de_regulares(lista_notas), "alumnos están regulares.")
print("El promedio general es de:", promedio_general(lista_notas))
print(cantidad_de_excelentes(lista_notas), "alumnos están excelentes.")
def carga_de_notas():
lista_notas_aux = []
print("Ingrese las notas:")
for i in range(10):
nota = float(input(f"{i+1}° nota:"))
while nota<0 or nota>10:
print("ERROR: Ingrese un nota entre 0 y 10.")
nota = float(input(f"{i+1}° nota:"))
lista_notas_aux.append(nota)
return lista_notas_aux
def cantidad_personas_con_10(lista_notas_aux):
if lista_notas_aux.count(10)>0:
print(lista_notas_aux.count(10),"personas sacaron 10.")
else:
print("Ningún alumno sacó 10.")
def cantidad_de_regulares(lista_notas_aux):
cantidad_regulares = 0
for i in range(10):
if lista_notas_aux[i]>=5:
cantidad_regulares = cantidad_regulares + 1
return cantidad_regulares
def promedio_general(lista_notas_aux):
return sum(lista_notas_aux)/len(lista_notas_aux)
def cantidad_de_excelentes(lista_notas_aux):
cantidad_excelentes = 0
for i in range(10):
if lista_notas_aux[i]>=8:
cantidad_excelentes = cantidad_excelentes + 1
return cantidad_excelentes
principal()
EJERCICIO 14:
#Diseñe un algoritmo utilizando listas, en este caso llamarlo lst_talla,
lst_peso, lst_edad se desconoce la cantidad
#de elementos personas. Se pide :
#Unos métodos para cargar las listas necesarias (No recibe en parámetros,
devuelve valor es decir la lista)
#Un método para promedio de talla de mujeres (Recibe en parámetros, devuelve
valor, es decir el promedio)
#Un método para cantidad de varones con peso mayor a 40kg y talla menor a
90cm. (Recibe en parámetros, devuelve
#valor, es decir cantidad de varones con la condición dada)
#Un método para porcentaje de mujeres y de varones. (Recibe en parámetros,
No devuelve valor, es decir cantidad
# de varones con la condición dada)
#* Se entiende que cada posición del vector corresponde a una sola persona
respectivamente.
def carga_t():
lst_tallas = []
r = 1
while r == 1:
talla = float(input("Ingrese una talla:"))
lst_tallas.append(talla)
r = int(input("Desea ingresar mas datos?: 1 = Si / 0 = No: "))
return lst_tallas
def carga_p():
lst_peso = []
r = 1
while r == 1:
peso = float(input("Ingrese el peso de la persona:"))
lst_peso.append(peso)
r = int(input("Desea ingresar mas datos?: 1 = Si / 0 = No: "))
return lst_peso
def carga_sexo():
lst_sexo = []
r = 1
while r == 1:
sexo = input("Ingrese el sexo de la persona: F = Femenino - M =
masculino")
lst_sexo.append(sexo)
r = int(input("Desea inregar mas datos?: 1 = Si/ 0 = No: "))
return lst_sexo
def promedio(lista_sexo, lista_talla):
i = 0
acum = 0
cont = 0
prom = []
for i in range(len(lista_sexo)):
if lista_sexo[i] == "F":
cont = cont + 1
acum = acum + lista_talla[i]
prom = acum / cont
return prom
def cant_varones(Lista_peso1,lista_sexo1, lista_talla1):
i = 0
cont1 = 0
for i in range(len(lista_sexo1)):
if lista_sexo1[i] == "M":
if lista_peso1[i] >= 40:
if lista_talla1[i] < 90:
cont1 = cont1 + 1
return cont1
def porcentaje(lis_sexo):
i = 0
cont_f = 0
cont_m = 0
total = 0
for i in range(len(lis_sexo)):
if lis_sexo[i] == "F":
cont_f = cont_f + 1
else:
cont_m = cont_m + 1
total = len(lis_sexo)
porcentaje_f = (cont_f * 100) / total
print("El porcentaje de mujeres es:", porcentaje_f, "%")
porcentaje_m = (cont_m * 100) / total
print("El porcentaje de varones es :", porcentaje_m, "%")
def principal():
lista_s = []
lista_t = []
lista_p = []
lista_s = carga_sexo()
lista_t = carga_t()
lista_p = carga_p()
p_talla_mujeres = promedio(lista_s, lista_t)
print("El promedio de tallas de mujeres es de:", p_talla_mujeres)
c_varones = cant_varones(lista_p, lista_s, lista_t)
print("La cantidad de varones de mas de 40kg, y de talla menor a 90cm
son:",c_varones)
porcentaje(lista_s)
principal()
EJERCICIO 15:
"Elaborar un algoritmo que, dada una lista de varios artículos, teniendo
como datos la descripción y el número de unidades producidas. El costo se
calcula multiplicando el número de unidades producidas por el factor de
costo de materiales de 3.5 y sumándole al producto un costo fijo de $ 356.
Se pide:Un métodos para cargar ambas listas (No recibe en parámetros, y NO
devuelve valor) Ayuda (Considere usar variables globales)Un métodos que
calcule para cada artículo el costo (Recibe en parámetros, y devuelve valor,
es decir la lista de precios)Un método que determine el máximo a recaudar
(Como desee)Un método que calcule el total a recaudar (Como desee).Se
entiende que cada posición del vector corresponde a un solo artículo
respectivamente"
def principal():
cargar_listas()
lista_precio = calculo_de_precios()
maximo_a_recaudar(lista_precio)
total_a_recaudar(lista_precio)
def cargar_listas():
global lista_descripcion, lista_unidades
lista_descripcion = []
lista_unidades = []
opcion ="S"
print("Ingrese los datos de los artículos:")
while opcion=="S":
lista_descripcion.append(input("Descripción:"))
lista_unidades.append(int(input("Unidades:")))
opcion = input("¿Desea seguir ingresando datos? S/N:").upper()
def calculo_de_precios():
lista_precio_aux = []
for i in range(len(lista_unidades)):
lista_precio_aux.append(lista_unidades[i]*3.5 + 365)
return lista_precio_aux
def maximo_a_recaudar(lista_precio_aux):
print("El artículo con el mayor precio a recaudar
es",lista_descripcion[lista_precio_aux.index(max(lista_precio_aux))],"= $",
max(lista_precio_aux))
def total_a_recaudar(lista_precio_aux):
print("El total a recaudar es de $", sum(lista_precio_aux))
principal()