|
181
|
Programación / Programación C/C++ / Re: el programa se cierra solo
|
en: 24 Marzo 2012, 03:15 am
|
Hola amigos hace pocos dias me inicie en eso del C debido a que encontre un libro en la biblioteca de mi colegio bueno el caso es que ahora haciendo programas sencillos como el hola mundo y programas de suma y resta ( algo basico ) me eh dado cuenta que el programa se cierra solo bueno revisando codigo fuente eh colocado lo que supongo yo un parche temporal getchar(); asi que cuando presione cualquier tecla se cierre y no se cierre automaticamente como lo hace sin esa linea ahora la pregunta como hago para evitar que el programa se cierre indefinidamente? de antemano gracias Si usas Windows y no quieres complicarte la vida, te aconsejo que uses esto: system("PAUSE");
o sino, tira de la forma cutre, declara una variable y mediante cin o scanf la llamas Un saludo
|
|
|
182
|
Programación / Programación C/C++ / Re: calculadora en c++
|
en: 24 Marzo 2012, 03:11 am
|
Te aconsejo, que en vez de encapsularlo todo en un bucle, tires de funciones y pases los resultados como argumentos, te saldrá más fácil . Si ves que no te sale avísame y te hecho una mano . Un saludo
|
|
|
183
|
Programación / Scripting / Re: GUI python
|
en: 24 Marzo 2012, 01:03 am
|
En concreto me referia a poder tener una paleta donde este mis componentes de la GUI,algo como netbenas con java .........existe algo asi para python en windows
Compañero, me parece que eso no va a poder ser . En python deberás tirar del propio IDE para escribir tu código y de módulos como dice WaAYa HaCK tales como Tkinter, o WX, en mi opinion te recomiendo Wx, todo más abstracto que Netbeans para Java. Un saludo
|
|
|
185
|
Programación / Scripting / Re: ¿Como se llama este desencriptador y como se crea?
|
en: 23 Marzo 2012, 16:08 pm
|
Ya he acabado el ejemplo del manejo del shift, aquí tienes el código ya arreglado, espero que te sirva EDITO:: He encontrado un problema, si el shift supera el índice de la lista, lanza error, lo arreglaría pero puede ser lioso , así que si lo que quieres es tomarlo como ejemplo te vendrá bastante bien . EDITO2: El problema ya está arreglado en parte sin complicar mucho el código sin embargo sigue dando algunos problemas que ahora si que no sé solucionar #!/usr/bin/env python # -*- coding: utf-8 -*- import os class caesar_cipher_shift: def uncipher_shift(self): self.dic_let = {'d':'a','e':'b','f':'c','g':'d','h':'e','i':'f','j':'g','k':'h','l':'i', 'm':'j','n':'k','o':'l','p':'m','q':'n','r':'o','s':'p','t':'q','u':'r','v':'s','w':'t','x':'u','y':'v', 'z':'w','a':'x','b':'y','c':'z'} self.diction = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u', 'v','w','x','y','z'] print """ ______ _______ __ / ____/____ ____ _________ ______ / ____(_)____ / /_ ___ _____ / / / __ `/ _ \/ ___/ __ `/ ___/ / / / // __ \/ __ \/ _ \/ ___/ / /___ / /_/ / __(__ ) /_/ / / / /___/ // /_/ / / / / __/ / \____/ \__,_/\___/____/\__,_/_/ \____/_// .___/_/ /_/\___/_/ /_/ """ print "\n\n[+] Inserte el desplazamiento" self.shift = input(">") print "[+] Introduce la cadena a descifrar" self.cadena = raw_input(">") for self.letra in self.cadena: if self.letra == self.letra.upper(): self.y = self.diction.index(self.letra.lower()) - self.shift if self.y > len(self.diction): self.y = self.diction.index(self.letra) print self.dic_let[self.diction[self.y]], else: self.y = self.diction.index(self.letra) - self.shift if self.y > len(self.diction): self.y = self.diction.index(self.letra) print self.dic_let[self.diction[self.y]], def cipher_shift(self): self.dic_let = {'a':'d','b':'e','c':'f','d':'g','e':'h','f':'i','g':'j','h':'k','i':'l', 'j':'m','k':'n','l':'o','m':'p','n':'q','o':'r','p':'s','q':'t','r':'u','s':'v','t':'w','u':'x','v':'y', 'w':'z','x':'a','y':'b','z':'c'} self.diction = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u', 'v','w','x','y','z'] print """ ______ _______ __ / ____/____ ____ _________ ______ / ____(_)____ / /_ ___ _____ / / / __ `/ _ \/ ___/ __ `/ ___/ / / / // __ \/ __ \/ _ \/ ___/ / /___ / /_/ / __(__ ) /_/ / / / /___/ // /_/ / / / / __/ / \____/ \__,_/\___/____/\__,_/_/ \____/_// .___/_/ /_/\___/_/ /_/ """ print "\n\n[+] Inserte el desplazamiento" self.shift = input(">") print "[+] Introduce la cadena a cifrar" self.cadena = raw_input(">") for self.letra in self.cadena: if self.letra == self.letra.upper(): self.y = self.diction.index(self.letra.lower()) + self.shift if self.y > len(self.diction): self.y = self.diction.index(self.letra) print self.dic_let[self.diction[self.y]], else: self.y = self.diction.index(self.letra) + self.shift if self.y > len(self.diction): self.y = self.diction.index(self.letra) print self.dic_let[self.diction[self.y]], if __name__ == '__main__': print """ ______ _______ __ / ____/____ ____ _________ ______ / ____(_)____ / /_ ___ _____ / / / __ `/ _ \/ ___/ __ `/ ___/ / / / // __ \/ __ \/ _ \/ ___/ / /___ / /_/ / __(__ ) /_/ / / / /___/ // /_/ / / / / __/ / \____/ \__,_/\___/____/\__,_/_/ \____/_// .___/_/ /_/\___/_/ /_/ """ print "\n\n [+] 1-Cifrar o 2-descifrar [+]" eleccion = input(">") if eleccion == 1: os.system("clear") t = caesar_cipher_shift() t.cipher_shift() elif eleccion ==2: os.system("clear") t = caesar_cipher_shift() t.uncipher_shift()
Un saludo!
|
|
|
186
|
Programación / Scripting / Re: ¿Como se llama este desencriptador y como se crea?
|
en: 23 Marzo 2012, 14:47 pm
|
#!/usr/bin/env python # -*- coding: utf-8 -*- import os class caesar_cipher: def uncipher(self): self.dic_let = {'d':'a','e':'b','f':'c','g':'d','h':'e','i':'f','j':'g','k':'h','l':'i', 'm':'j','n':'k','o':'l','p':'m','q':'n','r':'o','s':'p','t':'q','u':'r','v':'s','w':'t','x':'u','y':'v', 'z':'w','a':'x','b':'y','c':'z'} print "Inserte la cadena a descifrar" self.cadena = raw_input("Cadena>") for self.letra in self.cadena: if self.letra == self.letra.upper(): print self.dic_let[self.letra.lower()], else: print self.dic_let[self.letra], def cipher(self): self.dic_let = {'a':'d','b':'e','c':'f','d':'g','e':'h','f':'i','g':'j','h':'k','i':'l', 'j':'m','k':'n','l':'o','m':'p','n':'q','o':'r','p':'s','q':'t','r':'u','s':'v','t':'w','u':'x','v':'y', 'w':'z','x':'a','y':'b','z':'c'} print "Inserte la cadena a cifrar" self.cadena = raw_input("Cadena>") for self.letra in self.cadena: if self.letra == self.letra.upper(): print self.dic_let[self.letra.lower()], else: print self.dic_let[self.letra], if __name__ == '__main__': print "1-Cifrar o 2-descifrar?" eleccion = input(">") if eleccion == 1: os.system("clear") t = caesar_cipher() t.cipher()
Ese es el código entero, voy a comer y ahora te edito el mensaje con el código del shift, un saludo
|
|
|
187
|
Programación / Scripting / Re: Se desaparece la consola!!
|
en: 22 Marzo 2012, 21:01 pm
|
MOD: Aviso, Usa el botón "Insertar código", y ponle un título describiendo el lenguaje en tu post. El codigo es el siguiente ,lo ejecuto y no me pide ninguna variable , se abre y se cierra la consola en segundos.. #!/usr/bin/bash if [ $# -lt 2 ] then echo $0 Numero Numero2 exit 1 fi calculo=`expr $1 + $2` echo $calculo exit 0
Que estoy haciendo mal?muchas gracias. Prueba a cambiar la cabecera y a implementar sleep como ha dicho Elektro, respecto a lo de que no te pide ninguna variable, es porque debes usar read, si no, el programa no sabe que debe recibir informacion, el código quedaría así: #!/bin/bash echo 'Ingresa un Valor' read # if [ $# -lt 2 ] then echo $0 Numero Numero2 sleep 5 exit 0 fi calculo=`expr $1 + $2` echo $calculo sleep 5 exit 0
Lo he ejecutado pero vamos, no tiene ninguna salida importante, ¿Cual es su objetivo? Un saludo
|
|
|
188
|
Programación / Scripting / Re: ¿Como se llama este desencriptador y como se crea?
|
en: 22 Marzo 2012, 20:37 pm
|
Por cierto respondiendo a Runex, lo que he puesto me lo he inventado para hacer el ejemplo, ya te he dicho que no tenia ni idea de lo que era xD, como iva a saber encima encriptaciones. Saludos.
Ah vale vale ahora ya me cuadra todo y yo buscando jaja . Bueno, si te sirve de algo, mañana te posteo el código completo y si quieres otro ejemplo con el uso del shift, que yo desgraciadamente también estoy constipado y me toca instituto xD
|
|
|
189
|
Programación / Scripting / Re: ¿Como se llama este desencriptador y como se crea?
|
en: 22 Marzo 2012, 18:17 pm
|
En que se basa el programa para asignar una letra a otra? He estado mirando relaciones y no encuentro ninguna entre: q= h w= o e= l r= a i= q o= u t= e y= t u= l Un saludo EDITO: He buscado en san google, y no he visto esas asignaciones si no otras y no hay precisamente pocas :S Bueno, siguiendo la sustitución de wikipedia aquí te dejo esto: #!/usr/bin/env python # -*- coding: utf-8 -*- import os class caesar_cipher: def cipher(self): self.dic_let = {'a':'d','b':'e','c':'f','d':'g','e':'h','f':'i','g':'j','h':'k','i':'l', 'j':'m','k':'n','l':'o','m':'p','n':'q','o':'r','p':'s','q':'t','r':'u','s':'v','t':'w','u':'x','v':'y', 'w':'z','x':'a','y':'b','z':'c'} print "Inserte la cadena a cifrar" self.cadena = raw_input("Cadena>") for self.letra in self.cadena: if self.letra == self.letra.upper(): print self.dic_let[self.letra.lower()], else: print self.dic_let[self.letra], if __name__ == '__main__': print "1-Cifrar o 2-descifrar?" eleccion = input(">") if eleccion == 1: os.system("clear") t = caesar_cipher() t.cipher() elif eleccion ==2: os.system("clear") t = caesar_cipher() t.uncipher()
En python sería algo así. Falta declarar la función uncipher (no lo he hecho yo porque me tengo que ir ) y para mejorar sería mejor guardar el diccionario en un archivo de texto para hacer más liviano el poco código que hay. Un saludo
|
|
|
190
|
Programación / Scripting / Re: Es dificil o imposible?
|
en: 22 Marzo 2012, 14:59 pm
|
#!/usr/bin/env python import random,os class partidos: def __init__(self,alumnos,grupos,grupox): self.alumnos = alumnos self.grupos = grupos self.grupox = grupox self.creagrupos(alumnos,grupos,grupox) def creagrupos(self,alumnos,grupos,grupox): print "La cantidad de alumnos es: " + str(self.alumnos) print "La cantidad de alumnos por grupo es: " + str(self.grupos) print "La cantidad de grupos es: " + str(self.grupox) self.x = 0 self.v = 0 while self.v < self.grupox: print "Grupo " + str(self.v) while self.x < self.grupos: y = random.randint(0,20) print y, self.x +=1 self.x = 0 print "\n" self.v += 1 print "Inserte numero alumnos: " alumnos = input("Alumnos>") print "Inserte numero de alumnos por grupo: " grupos = input("Alumnos x Grupo>") print "Inserte la cantidad de grupos que desea:" grupox = input("Grupos>") os.system("clear") if __name__ == "__main__": t = partidos(alumnos,grupos,grupox)
Hasta ahí he llegado, se me ocurre una posible solución, añadiendo cada numero aleatorio que se genere en una lista y comparando después cada elemento, sin embargo eso se escapa a mi capacidad de escritura de código XD. En el programa que te he escrito yo, puedes añadir tu manualmente el numero de alumnos total, la cantidad de alumnos por grupo y la cantidad de grupos que deseas crear, así te puede servir para otras veces que desees hacer equipos con una cantidad diferente de alumnos De todas formas creo que la solución ofrecida por explorer es bastante buena para tu objetivo
|
|
|
|
|
|
|