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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / [C# 4.0][Databases] Duda con las Bases de Datos en: 2 Junio 2015, 20:24 pm
Buenas, hace tiempo que no paso por aqui y tenía una pregunta:
Me gustaría saber si hay alguna manera de hacer una aplicación y de poder registrarse y logearse actualizandose en tiempo real (se que tiene que haber, una database). Por ejemplo: Te registras,  
te añade a la base de datos y cuando otro user te busque, te pueda encontrar.

Un saludo,
TheCrimulo
2  Programación / Scripting / [PYTHON] Tutorial de clases en Python en: 9 Diciembre 2014, 18:09 pm
Tener todo en un archivo es complicado, y más si es un proyecto largo, pero para algo estan las CLASES.

Para hacer una clase necesitamos un nivel de conocimiento medio/bajo, saber que hace def y un poco de lo demás.

Empezaremos creando una clase que cada vez que sea como un humano.

Código
  1. class Persona: #Siempre es necesario poner (self,opcional) en los parametros de la funcion.
  2.    def __init__(self,edad): #Esto se ejecutara cada vez que lo instanciemos.
  3.        self.edad = 19 #La edad base sera 19.
  4.    def hablar(self,texto):
  5.        print texto #Cuando se llame a la funcion, dira lo que pongamos.

Con esto haremos nuestra clase, pero ahora hay que instanciarla de esta manera:

Código
  1. Paco = Persona(36) #Ponemos los años, en este caso, 36.

Y podremos hacer cosas con ella, por ahora solo hablar, pero ya le añadiremos más.

Hablar:
Código
  1. Paco.hablar('Hola, me llamo Paco y tengo ', Paco.edad, 'años'

Ahora, haremos dos clases nuevas que harán lo mísmo que humano, pero con más funciones, a esto se le llama HERENCIA

Código
  1. class Programador(Persona): #Con (Persona) heredamos de ella, y si persona heredara de otra clase, Programador lo tendría, se llama Herencia Multiple
  2.    def programar(self,lenguaje):
  3.        print 'Voy a programar en ', lenguaje
  4. class Cocinero(Persona):
  5.    def cocinar(self,comida):
  6.        print 'Voy a cocinar ', comida
  7. class Estudioso(Cocinero,Programador): #Esto hereda de Cocinero y Programador a la vez, es una herencia multiple, pues estos dos heredan de Persona
  8.    def Estudiar(self,tema):
  9.        print 'Voy a estudiar ', tema

Ahora Cocinero y Programador heredan de Persona y Estudioso puede hacer lo que los dos hacen.

Instanciando:
Código
  1. Paco = Programador(36) #Como sigue heredando de Persona, hay que poner la edad
  2. Pedrito = Cocinero(31)
  3. Ricardo = Estudioso(26) #Ricardo hereda de Cocinero y de Programador, estos dos de Persona, como habreis adivinado, ¡La edad!

Ahora Pedrito puede hacer Pedrito.hablar('LALAL') y Pedrito.cocinar('Ensalada')
Paco, Paco.hablar('LELEL') y Paco.programar('C++')
Pero Ricardo puede hacer:
Ricardo.hablar('LULUL')
Ricardo.programar('Java')
Ricardo.cocinar('Pavo con verduritas')

Espero que les haya sido útil,
Un saludo,
TheCrimulo
3  Programación / Scripting / [PYTHON] ¿Es posible abrir archivos .py desde otros .py? - Usando os.system() en: 8 Diciembre 2014, 20:13 pm
Muy buenas,

Acabo de ver un post en el que se podían ejecutar codigos de batch/bash en Python de la siguiente manera:

Código
  1. import os
  2. os.system('cls') #Borra la pantalla

Así que pensé:
Si cuando instalas Python, se puede ejecutar un archivo con python archivo.py, ¿Se podría realizar en python de la siguiente manera?:

Código
  1. import os
  2. file = 'holamundo.py'
  3. os.system('python ' + file)

Gracias por atender,
TheCrimulo
4  Programación / Scripting / [PYTHON] ¿Algún tipo de GoTo en Python? en: 8 Diciembre 2014, 01:09 am
Muy buenas,
En este código (Interprete de comandos) tengo un problema, y es que cuando, por ejemplo, he usado la función de la calculadora, vuelva al 'prompt':
Código
  1. # -*- coding: utf-8 -*-
  2. from _pyclass import pymaths #Math Class
  3. from _pyclass import pyuses #Pauses
  4. from _pyclass import pymethods #Methods
  5. import os
  6. import time
  7.  
  8. pymaths = pymaths()
  9. pyuse = pyuses()
  10. pyfiles = pyfiles()
  11. pymet = pymethods()
  12.  
  13. pymet.pyusr('TheCrimulo','Python Software Foundation - PSF')
  14.  
  15. print 'Welcome to AnvilPy'
  16. print '[0.1.2.4]'
  17. print time.strftime("%Y/%m/%d %H:%M:%S")
  18.  
  19. print '///////////////////////'
  20. print '/                     /'
  21. print '/   AnvilPy Logger    /'
  22. print '/                     /'
  23. print '/                     /'
  24. print '///////////////////////'
  25.  
  26. usr = raw_input('Username:')
  27. mode = raw_input('Terminal mode ("$command" or "command"):')
  28. print 'Welcome, ' + usr
  29.  
  30. q1 = '?'
  31. q1_ = '$'
  32. q2 = 'hlp'
  33. q2_ = '$hlp'
  34. q3 = 'help'
  35. q3_ = '$help'
  36. q4 = 'python'
  37. q4_ = '$python'
  38. q5 = 'calculator'
  39. q5_ = '$calculator'
  40. q6 = 'time'
  41. q6_ = '$time'
  42. q7 = '¡doc'
  43. m1 = 'command'
  44. m1_ = '$command'
  45.  
  46. if mode == m1:
  47. cprompt = raw_input('*terminal*>>>')
  48.  
  49. if cprompt == q1:
  50. print """
  51. Commands:
  52. ===========
  53. ? , hlp , help - Shows all the commands
  54. python - Shows the Python Info
  55. calculator - Starts the calculator
  56. time - Shows the time
  57. """
  58. elif cprompt == q2:
  59. print """
  60. Commands:
  61. ===========
  62. ? , hlp , help - Shows all the commands
  63. python - Shows the Python Info
  64. calculator - Starts the calculator
  65. time - Shows the time
  66. """
  67. elif cprompt == q3:
  68. print """
  69. Commands:
  70. ===========
  71. ? , hlp , help - Shows all the commands
  72. python - Shows the Python Info
  73. calculator - Starts the calculator
  74. time - Shows the time
  75. """
  76. elif cprompt == q4:
  77. print 'Python 2.7.7 - PSF'
  78. print 'www.python.org'
  79.  
  80. elif cprompt == q5:
  81. eprompt = raw_input('*calculator*>>>')
  82. a1 = 'Add'
  83. a2 = 'Substract'
  84. a3 = 'Multiply'
  85. a4 = 'Int Division'
  86. a5 = 'Dec Division'
  87. a6 = 'Quo Division'
  88. a7 = 'Res Division'
  89. a8 = 'Round Number'
  90. if eprompt == a1:
  91. ep1 = raw_input('Number:')
  92. ep2 = raw_input('Number:')
  93. print pymaths.add(ep1,ep2)
  94.  
  95. elif eprompt == a2:
  96. ep3 = raw_input('Number:')
  97. ep4 = raw_input('Number:')
  98. print pymaths.substract(ep3,ep4)
  99.  
  100. elif eprompt == a3:
  101. ep5 = raw_input('Number:')
  102. ep6 = raw_input('Number:')
  103. print pymaths.multiply(ep5,ep6)
  104.  
  105. elif eprompt == a4:
  106. ep7 = raw_input('Number:')
  107. ep8 = raw_input('Number:')
  108. print pymaths.divide_int(ep7,ep8)
  109.  
  110. elif eprompt == a5:
  111. ep9 = raw_input('Number:')
  112. ep10 = raw_input('Number:')
  113. print pymaths.divide_dec(ep9,ep10)
  114.  
  115. elif eprompt == a6:
  116. ep11 = raw_input('Number:')
  117. ep12 = raw_input('Number:')
  118. print pymaths.divide_quo(ep11,ep12)
  119.  
  120. elif eprompt == a7:
  121. ep13 = raw_input('Number:')
  122. ep14 = raw_input('Number:')
  123. print pymaths.divide_res(ep13,ep14)
  124.  
  125. elif eprompt == a8:
  126. ep15 = raw_input('Number:')
  127. ep16 = raw_input('Number of Decimals:')
  128. print pymaths.roundto(ep15,ep16)
Falta MUCHO para terminar, pero es un punto crucial en el programa, lo he intentado con exec, pero NOPE.

Un saludo,
TheCrimulo
5  Programación / Scripting / [PYTHON (Simple)] Pausas en el programa (Batch-Style) en: 7 Diciembre 2014, 00:16 am
¿A que estas cansado de hacer esto para pausar el programa?:
Código
  1. pause = raw_input('Pulse ENTER para continual')

¡Pues hazlo una vez y no lo hagas más de esta manera!:
Código
  1. def pause(self):
  2. pause = raw_input('Press ENTER to continue')

Ahora, cada vez que pongas pause(), aparecerá que pulses ENTER para continuar.

Muy simple, pero a la vez muy util para los que usan mucho Python.

TAMBIÉN:
Evidentemente, puedes guardarlo en una clase de esta manera:
Código
  1. class pauses:
  2. def pause(self):
  3. pause = raw_input('Press ENTER to continue')
Guarda esto en un _clases.py, crea un archivo vacío que sea __init__.py para poder importar, entonces, en tu archivo pon:
Código
  1. from _clases import pauses
  2. variable2 = pauses()
  3. variable2.pause()
Así tendrás acceso en todo momento a las pausas.  :D
6  Programación / Scripting / [PYTHON] pymaths - Realizar cálculos internos y externos en tu .py en: 6 Diciembre 2014, 00:30 am
Hola a todos, he hecho este código para operaciones básicas en Python, internas (no se muestran) o externas (se muestran con 'print' u otros):
Código
  1. class pymaths:
  2. def add(self,num1,num2): #Sumar
  3. return float(num1) + num2
  4. def substract(self,num1,num2): #Restar
  5. return float(num1) - num2
  6. def multiply(self,num1,num2): #Multiplicar
  7. return float(num1) * num2
  8. def divide_int(self,num1,num2): #Division con enteros
  9. return num1 / num2
  10. def divide_dec(self,num1,num2): #Division con decimales
  11. return float(num1) / num2
  12. def divide_coc(self,num1,num2): #Cociente de una division
  13. return float(num1) // num2
  14. def divide_rst(self,num1,num1): #Resto de una division
  15. return num1 % num2
  16. def roundto(self,num1,num2): #Redondear el primer numero (num1) a la cantidad de decimales de (num2)
  17. return round(num1,num2)

Importalo en tu archivo con el siguiente código en tu archivo, teniendo en cuenta que _pymaths.py y un __init__.py (vacío) estén en el mismo directorio:

Código
  1. from _pymaths import pymaths

Después debemos declarar/instanciar la clase con:
Código
  1. variable = pymaths()

Y ya estará listo, aquí unos ejemplos de uso:

Sumar:
Código
  1. print variable.add(1,1)
Dividir(Resto):
Código
  1. print variable.divide_rst(5,4)

O también poder guardar el resultado en una variable:
Código
  1. var = variable.add(1,1)

Como supongo que habréis podido comprobar, entre los paréntesis están los números, representados con num1 y num2.

Espero que les sirva,
Un saludo,
TheCrimulo
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines