elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ... 155
321  Seguridad Informática / Hacking Wireless / Re: Fake Auth (By Force) no me funciona con tarjeta con Chip RTL81817L !! Ayuda !!! en: 23 Octubre 2012, 00:36 am
en la web de bactrack se trata el tema, también puede ser por el alcance que tengas a la red...saludos
322  Programación / Scripting / [Python] Calculadora básica de consola en: 23 Octubre 2012, 00:25 am
Hola, esta es una calculadora que hice hace algún tiempo, y que creo les será útil a los que aprendan python sobre todo para aprender sobre string y listas, y a funciones, esta hecha bajo el paradigma estructurado estilo C, creo que se puede mejorar pero esta bien para que los que aprender python se entretengan un rato. Cabe decir que no soy un master en python y que con gusto aceptaré consultas y correcciones. La sintaxis puedes ser algo compleja para los que empiezan pero esta bastante comentada.
Espero le sirva a alguien. Saludos

Código
  1. #Programado por Mini_Nauta, protohey.blogspot.com
  2. #Version 1.0
  3. #Este software esta licenciado bajo GNU V3
  4. #http://www.gnu.org/licenses/gpl-3.0.html
  5. #El propósito de este software es aprender y deglosar el software
  6.  
  7. #Modulos ---------------------------------
  8. import os
  9.  
  10. #Funciones ---------------------------------
  11. def trozar_lista(lista, operador):
  12. """Didive la lista a partir del operador
  13. ya sea +, -, /, * para procesar los valores.
  14. Retorna una tupla con los valores de tipo matematico
  15. en ambos lados de la expresion.
  16. trozar_lista(list lista, str operador): return tuple(a, b)"""
  17.  
  18. #se dividen la lista de 2 trozos marcando como centro el operador
  19. #el if corresponde a un parchepara cuando se ingresan 2 signos -
  20. #este funciona mientras existan mas de 2 signos -, entonces al cortar
  21. #con index el primer signo - que corresponde a un signo negativo y no de resta
  22. #se corta el string a partir del segundo signo - que corresponde a la resta
  23. if lista.count('-') > 1:
  24. trozo_izquierda = ''.join( lista[0 : buscar(lista, 2, operador)] )
  25. else:
  26. trozo_izquierda = ''.join( lista[0 : lista.index(operador)] )
  27. trozo_derecha = ''.join( lista[(lista.index(operador) + 1) : len(lista)] )
  28.  
  29. #tratado de numeros negativos
  30. if '-' in trozo_izquierda:
  31. #eliminacion de signo -
  32. trozo_izquierda = float( trozo_izquierda[1:len(trozo_izquierda)] )
  33. #conversion a negativo
  34. trozo_izquierda = trozo_izquierda * -1
  35.  
  36. if '-' in trozo_derecha:
  37. #eliminacion de signo -
  38. trozo_derecha = float( trozo_derecha[1:len(trozo_derecha)] )
  39. #conversion a negativo
  40. trozo_derecha = trozo_derecha * -1
  41.  
  42. #conversion a float si fuera necesario
  43. if type(trozo_izquierda) != float:
  44. trozo_izquierda = float(trozo_izquierda)
  45. if type(trozo_derecha) != float:
  46. trozo_derecha = float(trozo_derecha)
  47.  
  48. #conversion a entero si fuese necesario
  49. if (trozo_izquierda - int(trozo_izquierda)) == 0:
  50. trozo_izquierda = int(trozo_izquierda)
  51.  
  52. if (trozo_derecha - int(trozo_derecha)) == 0:
  53. trozo_derecha = int(trozo_derecha)
  54.  
  55. #retorno de los 2 trozos de la lista
  56. return (trozo_izquierda, trozo_derecha)
  57.  
  58. def sumar(lista):
  59. """Operacion de suma."""
  60. trozos = trozar_lista(lista, '+')
  61. print trozos[0] + trozos[1]
  62.  
  63. def restar(lista):
  64. """Operacion de resta."""
  65. trozos = trozar_lista(lista, '-')
  66. print trozos[0] - trozos[1]
  67.  
  68. def dividir(lista):
  69. """Operacion de division."""
  70. trozos = trozar_lista(lista, '/')
  71. if(trozos[1] == 0):
  72.                print "Math Error!"
  73.        else:
  74.                print trozos[0] / trozos[1]
  75.  
  76. def multiplicar(lista):
  77. """Operacion de multiplicar."""
  78. trozos = trozar_lista(lista, '*')
  79. print trozos[0] * trozos[1]
  80.  
  81. def Clear():
  82. """Limpia la consola."""
  83. #windows
  84. if os.name == "nt":
  85. os.system("cls")
  86. #unix
  87. elif os.name == "posix":
  88. os.system("clear")
  89.  
  90. def buscar(lista, index_num, to_index):
  91. """Busca el caracter indicado en una lista"""
  92. a = 0
  93. for i in lista:
  94. if i == to_index:
  95. a = a + 1
  96. if a == index_num:
  97. break
  98. return a
  99.  
  100.  
  101. #Programa ---------------------------------
  102. #no se permiten operandos al principio
  103. while(True):
  104. #expresion a calcular
  105. expresion = raw_input()
  106.  
  107. #mismo principio de las casio con el syntax error
  108. if len(expresion) == 1:
  109. if(expresion[0] == '+') or (expresion[0] == '-') or (expresion[0] == '/') or (expresion[0] == '*'):
  110. print "Syntax error!"
  111. else:
  112. #in retorna true si encuentra lo que se busca en la lista
  113.  
  114. #no modificar orden de prescedencia de sentencias if-elif
  115. #ya que estan en orden de prescedencia matematica para
  116. #un correcto funcionamiento logico del programa.
  117. #division
  118. try:
  119. if '/' in expresion:
  120. dividir(expresion)
  121. #multiplicacion
  122. elif '*' in expresion:
  123. multiplicar(expresion)
  124. #suma
  125. elif '+' in expresion:
  126. sumar(expresion)
  127. #resta
  128. elif '-' in expresion:
  129. restar(expresion)
  130. #ayuda
  131. elif ''.join(expresion) == "help":
  132. Clear()
  133. print "Basic Calculator by Mini_Nauta 1.0\n"
  134. print "clear: clean the screen"
  135. print "quit: close the calculator"
  136. print "help: show the help menu"
  137. #borrar pantalla
  138. elif ''.join(expresion) == "clear":
  139. Clear()
  140. #salir
  141. elif ''.join(expresion) == "quit":
  142. break
  143. else:
  144. print "Invalid operation. You can write help for help menu!"
  145. except:
  146. print "Syntax Error!"
323  Programación / Programación General / Re: Que hicieron para volverse programadores C++? en: 22 Octubre 2012, 23:56 pm
para aprender c++ puedes o no aprender c y después c++, yo empecé con c y por causas del destino quede en estructuras, en fin, estoy con python y por el instituto me pasan java, pero lo principal es aprender a programar y relativamente c++ no es tan difícil, lo que te parece dificil es que no lo sabes, tienes que meditarlo y pensar, aprender a deducir, aprender a pensar, hay varios libros que tienen mas de 150 páginas y aunque te aburra leer encontrarás que los libros explican mediante conceptos fáciles la lógica de c++, por que es c++ para que se usa, cuando se usa y demás, lo que no pasa cuando empiezas a aprender solo leyendo las instrucciones de código, escribir código es una cosa, entenderlo es otra.
Curiosamente aprender a programar no es escribir código si no aprender a crear soluciones en formas de programas, aprender a expresarlas en forma clara, sencilla y mientras mas practicas mas fácil se te hace, el escribir código solo se hace una vez que tienes el algoritmo, como nos dijo un profesor una vez, no debes caer al punto de pensar desde el código, sino al revés, piensa en la solución, como implementaras una solución para solucionar el problema, luego que tienes la que transcribir la solución en forma de programa, y todo eso enseñan los libros xD... saludos
324  Programación / Programación General / Re: ¿como documentar el código fuente? en: 22 Octubre 2012, 23:46 pm
ya voy entendiendo. gracias
325  Programación / Programación General / ¿como documentar el código fuente? en: 21 Octubre 2012, 08:22 am
Hola, pues verán, yo voy en primero informática pero formo parte de un grupo en el que a veces hay que programar en grupo, no entraré en detalles, e aprendido mucho y todo el cuento en el grupo, el tema es que no me queda claro como documentar mi código, compañeros de cuarto año de ingeniería me han dicho que tengo que comentar todo aquello que no sea habitual, porque use eso y bla bla bla, pero como lo veo yo el programador necesita saber la lógica del programa no porque use cada cosa o cada instrucción, salvo algunas que ayuden y que creo que tiene razón en eso, pero como no me pasarán eso hasta dentro de algunos años les pregunto a ustedes...

el tema en particular se trató de un algoritmo para un robot, no todos programábamos en el lenguaje para el robot, además olvide entregar el código documentado y no entendieron nada del code original, mi punto es que yo cuando documente lo hice explicando la lógica del programa y en algunos casos instrucciones argumentando su uso, soy nuevo en esto, pero se me hace de que por ejemplo en otra situación, todos debiéramos saber programar en ese lenguaje, y no estar preguntando para que significa cada cosa no?... la verdad tengo un lio con esto de la documentación... lo que entiendo hasta ahora es que se tiene que documentar la lógica del programa... en fin... saludos
326  Foros Generales / Foro Libre / Re: Libros recomendados en: 12 Octubre 2012, 05:34 am
Un libro que estoy leyendo en la tablet es "Los diarios perdidos de Nikola Tesla", es acerca de los misterios relacionados con Nikola Tesla y su tecnología.
327  Foros Generales / Foro Libre / Re: cual es la velocidad de internet optima? en: 5 Octubre 2012, 20:18 pm
yo con 6 mb tengo de sobra
328  Foros Generales / Foro Libre / Re: ¿Cuales son vuestros sistemas operativos favoritos? en: 5 Octubre 2012, 20:17 pm
como usuario de windows 7 home premium el cual venia con el laptop, te digo que no me gusta ni me disgusta, puedo jugar, hacer mis tareas, trabajos y demás cosas del instituto, pero para trabajar uso ubuntu, lo mas básico para un usuario linux poco experimentado con eso me basta y me sobra por ahora, ya que no soy un experto en esos temas, a mi me vale que funcione todo bien...saludos
329  Informática / Hardware / Re: me parece que la ram esta dañada... en: 21 Septiembre 2012, 03:26 am
de hecho si, me dio unos cuantos pitidos al inicio, pero la saque y la coloque de nuevo y se pasaron, también leí en internet que podría ser estática pero quería consultarles a ustedes...saludos
330  Informática / Hardware / Re: me parece que la ram esta dañada... en: 19 Septiembre 2012, 05:58 am
no inicia en modo seguro, tampoco carga los live cd, probé con backtrack 3 que era lo mas liviano que tengo pero nada, y el otro slot para ram no funciona, la verdad no se como le podría hacer funcionar, quizás con un pincel... saludos y gracias
Páginas: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ... 155
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines