Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Runex

#181
Cita de: zarkaz en 18 Marzo 2012, 17:27 PM
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  :D

Si usas Windows y no quieres complicarte la vida, te aconsejo que uses esto:

Código (cpp) [Seleccionar]
system("PAUSE");

o sino, tira de la forma cutre, declara una variable y mediante cin o scanf la llamas :)

Un saludo  ;-)
#182
Programación C/C++ / Re: calculadora en c++
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
Scripting / Re: GUI python
24 Marzo 2012, 01:03 AM
Cita de: mapers en 12 Marzo 2012, 00:13 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 :)
#184
Si, como dice Elektro el programa está codeado con la versión 2.7.2 de Python.

De la conversión a .exe poco te puedo decir ya que uso debian y no tengo mucha idea, pero si puedes buscar algun tutorial de py2exe por google como este:

http://foro.code-makers.net/index.php?topic=2465.0

O puedes usar Pyinstaller que según lo que he leido por ahí es mejor y crea menos archivos lo que se traduce en una más rápida conversión.

Un saludo y espero que te haya ido bien :)
#185
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 :)
Código (python) [Seleccionar]
#!/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
Código (python) [Seleccionar]
#!/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
Scripting / Re: Se desaparece la consola!!
22 Marzo 2012, 21:01 PM
Cita de: FAKEz en 22 Marzo 2012, 05:53 AM
MOD: Aviso, Usa el botón "Insertar código", y ponle un título describiendo el lenguaje en tu post.  :P

El codigo es el siguiente ,lo ejecuto y no me pide ninguna variable , se abre y se cierra la consola en segundos..

Código (bash) [Seleccionar]
#!/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í:

Código (bash) [Seleccionar]
#!/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
Cita de: puntoinfinito en 22 Marzo 2012, 20:00 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
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:

Código (python) [Seleccionar]
#!/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
Scripting / Re: Es dificil o imposible?
22 Marzo 2012, 14:59 PM
Código (python) [Seleccionar]
#!/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 :)