Título: Necesito crear un diccionario un poco especial . ( alguien me ayuda ) Publicado por: Siscu.cab en 5 Mayo 2012, 14:32 pm Hola quería generar un diccionario pero que no fuese de la a-z sino seria algo como AAxxxxxxx ZZxxxxxxx seria numero y letras creo que
Es AA0xxxxxx pero no lo se seguro es de 9 caracteres #!/usr/bin/python # # :: Invasion Tux # :: Ultima modificacion : miercoles, 14 de enero de 2009 # :: Script realizado por makiolo (makiolo@gmail.com) (Licencia Creative Commons con reconocimiento) # :: Dependencias : python # import sys, math from time import time, localtime, strftime ########################### CONFIGURACION ######################### LONGITUD = 6 ALFABETO = "abcdefghijklmnopqrstuvwxyz0123456789_-." #################################################################### ########################## FUNCIONES ############################### def getVariacionesConRepeticion(ALFABETO , LONGITUD): sumatorio = 0 for i in range(LONGITUD): producto = 1 for j in range(i+1): producto = producto * len(ALFABETO) sumatorio = sumatorio + producto return sumatorio def eventoPalabraGenerada(palabra): print palabra #################################################################### ##################### VARS AUXILIARES ############################## DEBUG = True VERBOSE = True variacionesConRepeticion = getVariacionesConRepeticion(ALFABETO , LONGITUD) inicioReloj = time() cont = 0 progreso = 0 #################################################################### while LONGITUD > 0: try: contadores = [] # ponemos los contadores a 0 for i in range(LONGITUD): contadores.append(0) fin = False while not fin: if DEBUG == True: palabra=[] # Creas una lista vacia (y liberas de paso) for i in range(LONGITUD): palabra.append(ALFABETO[contadores]) # Vas metiendo al final letra a letra eventoPalabraGenerada("".join(palabra)) # Envias a tu callback tada la lista unida if VERBOSE == True: if (cont % 600000 == 0) and (cont != 0): progreso = cont*100.0/variacionesConRepeticion # porcentaje hasta ahora progreso = round(progreso , 2) finReloj = time() - inicioReloj # finReloj es lo que esta tardando el calculo velocidad = cont / finReloj # palabras procesadas por segundo velocidad = round(velocidad , 2) estimado = finReloj * variacionesConRepeticion / cont # es lo que se estima en realizar todo el proceso restante = estimado - finReloj # es lo que se estima en realizar lo restante restante = restante / 60 / 60 # lo pasamos a horas restante = round(restante , 2) sys.stderr.write(str(progreso)+"% - Quedan "+str(restante)+" horas. La velocidad es de "+str(velocidad)+" palabras/seg\n") cont = cont + 1 actual = LONGITUD - 1 # Pongo actual a la derecha del todo contadores[actual] = contadores[actual] + 1 # Sumo 1 a las unidades while(contadores[actual] == len(ALFABETO)) and not fin: # Propago el carry if(actual == 0): fin = True # FIN else: contadores[actual] = 0 # reinicia el actual contador actual = actual - 1 # avanza a la izquierda contadores[actual] = contadores[actual] + 1 # y le sumo 1 LONGITUD = LONGITUD - 1 # combinaciones para uno menos except KeyboardInterrupt: sys.stderr.write("Interrumpido por el usuario\n") fin = True # Fuerzo las condiciones de salida LONGITUD = 0 if VERBOSE == True: sys.stderr.write("Terminado al "+str(progreso)+"% - Realizadas "+str(cont)+" combinaciones de "+str(variacionesConRepeticion)+"\n") Algo por el estilo q no sea difícil . Título: Re: Necesito crear un diccionario un poco especial . ( alguien me ayuda ) Publicado por: Siscu.cab en 7 Mayo 2012, 17:46 pm bueno estado mirando creadores pero no encuentro ninguno para crearlo de la manera que yo quiero nadie tiene ninguna idea .
Que me tendría que ir al hilo de programación . Título: Re: Necesito crear un diccionario un poco especial . ( alguien me ayuda ) Publicado por: drlecter en 8 Mayo 2012, 13:24 pm si especificas mejor como quieres que sea el diccionario a lo mejor alguien podría ayudarte :)
Título: Re: Necesito crear un diccionario un poco especial . ( alguien me ayuda ) Publicado por: Siscu.cab en 15 Mayo 2012, 17:20 pm Seria los 2 primeras mayúsculas luego un 0 y 1 numero 3 letra minúscula y dos números seria algo como AA01aaa11. No se si me explico
Título: Re: Necesito crear un diccionario un poco especial . ( alguien me ayuda ) Publicado por: Siscu.cab en 20 Agosto 2012, 16:43 pm nadie ?
|