UNIDAD 07 Funciones Ejercicios de Funciones en Python Elaborado por los Ayudantes de Cátedra
Views 144 Downloads 4 File size 940KB
UNIDAD 07 Funciones
Ejercicios de Funciones en Python Elaborado por los Ayudantes de Cátedra
UNIDAD 07 Funciones
Ejercicios de Funciones en Python
Ejercicio 1 Una compañía de telefonía celular, desea realizar un programa que le permita obtener estadísticas de sus clientes para mejorar su servicio, en el cual se solicita lo siguiente: a) Función Cargar celulares, que recibe una lista [[cedula, nombre, numero de celular minutos_hablados],[…],[…],[…]] y crea un diccionario donde la clave es el número de cédula del usuario y el valor el resto de los datos; teniendo en cuenta que una persona puede tener más de un numero celular; retorna el diccionario. def c argarCelulares(lista): dic = {} for i in lista: cedula = i[0] nombre = i[1] celular = i[2] num_minutos = i[3] if cedula not in dic: dic[cedula] = {"nombre":nombre,"celulares":[celular],"minutos_hablados":[num_minutos]} else: dic[cedula]["celulares"].append(celular) dic[cedula]["minutos_hablados"].append(num_minutos) return dic b) Función Total de minutos, que recibe un numero de cedula, el diccionario del literal anterior, valida que el número de cédula y calcula el total de minutos y retorna una lista con tuplas con el número de celular y el número de minutos hablados y suponiendo que cada minuto hablado vale $ 0.04 calcular el total a pagar por lo minutos hablados. def t otalMinutos(cedula,diccionario): totMinutos=0 lis = [] if cedula not in diccionario: print("No registrado") else: dic = diccionario[cedula]
UNIDAD 07 Funciones
for i in range(len(dic["celulares"])): lis.append((dic["celulares"][i],dic["minutos_hablados"][i])) totMinutos+=int(dic["minutos_hablados"][i]) totPagar = totMinutos*0.04 return lis,totPagar c) Función Reportes, que recibe un diccionario, un nombre de archivo y genera un archivo con el número de cédula, total de minutos hablados y total a pagar. def r eportes(dic,nombre): archivo = open(nombre,"w") for cedula in dic: totMinutos=0 for i in range(len(dic[cedula]["celulares"])): totMinutos += int(dic[cedula]["minutos_hablados"][i]) totPagar = totMinutos*0.04 archivo.write(cedula+","+str(totMinutos)+","+str(totPagar)+"\n") archivo.close()
Programa: lista=[["0931022065","Luis Carrasco","0989716146","20"],["0101068971","Jose Carrasco","0999984610","30"], ["0931548799","Cristhian Lopez","0985512638","40"],["0931022065","Luis Carrasco","0989716145","60"]] print(""" Menu: 1.Importar Datos 2.Verificar Total a Pagar 3.Guardar 4. Salir """) opc = int(input("Ingrese opcion: ")) while opc>=1 and opc 0): print('Ataque de ' + str(personaje[0])) if(critico == 1) : print('Ataque critico') contrincante[3] = contrincante[3] - personaje[3] *2 else: contrincante[3] = contrincante[3] - personaje[3] print('Ataque de contrincante') personaje[4] = personaje[4] - contrincante[2] if(contrincante[3] 16: msj2_1="El nombre de usuario contiene mas de 16 caracteres.\n" if not RPassword == confirmar: msj3="Las contraseñas deben coincidir.\n" valdate="/" in date if valdate: #validar si se ingreso en el formato correcto date=date.split("/") if len(date)==3: #validar si se ingreso 3 campos dia, mes, año dia=date[0] mes=date[1] anio=date[2] if(len(dia)==2 and len(mes)==2 and len(anio)==4 and dia.isalnum() and mes.isalnum() and anio.isalnum()): #validar si son numeros y cantidad de numeros ingresados valdia= int(dia)>=1 and int(dia)=1 and int(mes) print(Comparacion("ATTCGT", "ATCTAT")) ATTCGT || | ATCTAT Score: 2 >>> print(Comparacion("GATAAATCTGGTCT", "CATTCATCATGCAA")) GATAAATCTGGTCT || ||| | CATTCATCATGCAA Score: 4 Realizado por Patricio González
UNIDAD 07 Funciones
Ejercicio 14 Sistema de pago para Parqueo: "vehiculosdentro.txt" AFC-0123|1488651001.718754 AGC-0231|1489090021.876564 ABC-0234|1490890838.984839 Crear un programa para el parqueo exlcusivos de autos personales. 1 PARTE El programa debe validar que las placas de los autos sean de caracter personal es decir que la segunda letra de la placa no sea A,U,Z,E,X,M y que la primera letra sea de una provincia del ecuador si no cumple con esto la placa no es valida y no puede ingresar al parqueo. import time def ValidarMatricula(matricula): no_particular=["A","U","Z","E","X","M"] provincias=["A","B","C","U","X","H","O","E","W","G","I","L","R","M","V", "N","S","P","Q","K","T","Z","Y","J"] if "-" in matricula: letras,numeros=matricula.split("-") if letras[0] in provincias and letras[1] not in no_particular and numeros.isnumeric() : return True return False 2 PARTE Una vez validada la placa, se debe definir una funcion para ingresar el auto, se debe grabar en un archivo llamado vehiculosdentro.txt los codigos de la placa y el tiempo en el que este llego al parqueo. def EntradaVehiculo(matricula,hora,vehiculosdentro): file=open(vehiculosdentro,"a") file.write(str(matricula)+"|"+str(hora)+"\n") file.close() return "se ha ingresado exitosamente la placa." 3 PARTE Una vez que el vehiculo desee salir del parqueo, defina una funcion que calcule el monto a pagar por usar el parqueo, ademas defina una funcion que permita remover del archivo vehiculosdentro.txt el codigo de la placa del auto que esta saliendo del parqueo. def Costo(tiempo): #horas if tiempo/3600= 1.5 and KD = 1 and KD=0 and KD=15: ListaColeccionistas += i[0] return ListaColeccionistas Realizado por Steven Santillan Padilla
UNIDAD 07 Funciones
Ejercicio 17 se cuenta con un archivo de texto con informacion recolectada de twitter, el archivo cuenta con el siguiente formato. username|tweet Se le pide que construya las siguientes funciones. a) Cargar_info(nombreArchivo) que crea un diccionario donde la clave sera el username y el valor sera una lista con los tweets que hizo el usaurio. b) usuario_mas_activo(tweets) que recibe el diccionario creado en el literal anterior y retorna el username que realizo mas tweets. c) una funcion que reciba el diccionario creado en el literal a y que retorne el usuario que uso mas hashtags.(recordar el un hashtag comienza con un # y termina cuando se encuentra un espacio) d) una funcion que reciba el diccionario del literal a y retorne el hashtag mas usado.
UNIDAD 07 Funciones
Escrito por:Karen Monserrat Bermudez Moreira