Ejercicios Funciones

UNIDAD 07 Funciones                        Ejercicios de Funciones en  Python    Elaborado por los Ayudantes de Cátedra

Views 144 Downloads 4 File size 940KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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