Jump to content

Jfirewall

Miembro
  • Contador contenido

    359
  • Ingreso

  • Última visita

  • Días ganados

    19

Todo lo publicado por Jfirewall

  1. Bueno pues a falta de tiempo y de un poco de experiencia, alguno me podrias decir como editar precios del catalogo de habbo, solo me falta acomodar precios y termino el habbo. ando buscando alguien que sepa crear un minecraf mu y un counter strikc se pagara dedicado y todo pero debera llevar nombre de la comunidad mejor dicho si alguno esta interesado le planto el negocio por mi skype. http://galaxiagamers.net/ web de la comunidad, por favor gente seria
  2. Hola pues bueno quise tomarme un reposo ;D porque ando haciendo 3 cosas ala vez ;D bueno pues ay muchos interesados en el python pues un capitulo mas. las funciones son muy importantes en casi todo el cliente esta lleno de funciones y muchos tienen el cliente y no saben que significan las cosas entonces porque no darles una idea de lo que en realidad se basa. Una función es un fragmento de código con un nombre asociado que realiza una serie de tareas y devuelve un valor. A los fragmentos de código que tienen un nombre asociado y no devuelven valores se les suele llamar procedimientos. En Python no existen los procedimientos, ya que cuando el programador no especifica un valor de retorno la función devuelve el valor None (nada), equivalente al null de Java. Además de ayudarnos a programar y depurar dividiendo el programa en partes las funciones también permiten reutilizar código. En Python las funciones se declaran de la siguiente forma: def mi_funcion(param1, param2):print param1print param2 Es decir, la palabra clave def seguida del nombre de la función y entre paréntesis los argumentos separados por comas. A continuación, en otra línea, indentado y después de los dos puntos tendríamos las líneas de código que conforman el código a ejecutar por la función. También podemos encontrarnos con una cadena de texto como primera línea del cuerpo de la función. Estas cadenas se conocen con el nombre de docstring (cadena de documentación) y sirven, como su nombre indica, a modo de documentación de la función. def mi_funcion(param1, param2):“““Esta funcion imprime los dos valores pasadoscomo parametros”””print param1print param2 Esto es lo que imprime el opeardor ? de iPython o la función helpdel lenguaje para proporcionar una ayuda sobre el uso y utilidad de las funciones. Todos los objetos pueden tener docstrings, no solo las funciones, como veremos más adelante. Volviendo a la declaración de funciones, es importante aclarar que al declarar la función lo único que hacemos es asociar un nombre al fragmento de código que conforma la función, de forma que podamos ejecutar dicho código más tarde referenciándolo por su nombre. Es decir, a la hora de escribir estas líneas no se ejecuta la función. Para llamar a la función (ejecutar su código) se escribiría: mi_funcion(“hola”, 2) Es decir, el nombre de la función a la que queremos llamar seguido de los valores que queramos pasar como parámetros entre paréntesis. La asociación de los parámetros y los valores pasados a la función se hace normalmente de izquierda a derecha: como a param1 le hemos dado un valor “hola” y param2 vale 2, mi_funcion imprimiría hola en una línea, y a continuación 2. Sin embargo también es posible modificar el orden de los parámetros si indicamos el nombre del parámetro al que asociar el valor a la hora de llamar a la función: mi_funcion(param2 = 2, param1 = “hola”) El número de valores que se pasan como parámetro al llamar a la función tiene que coincidir con el número de parámetros que la función acepta según la declaración de la función. En caso contrario Python se quejará: mi_funcion(“hola”)Traceback (most recent call last):File “<stdin>”, line 1, in <module>TypeError: mi_funcion() takes exactly 2 arguments (1 given) También es posible, no obstante, definir funciones con un número variable de argumentos, o bien asignar valores por defecto a los parámetros para el caso de que no se indique ningún valor para ese parámetro al llamar a la función. Los valores por defecto para los parámetros se definen situando un signo igual después del nombre del parámetro y a continuación el valor por defecto: def imprimir(texto, veces = 1):print veces * texto En el ejemplo anterior si no indicamos un valor para el segundo parámetro se imprimirá una sola vez la cadena que le pasamos como primer parámetro: imprimir(“hola”)hola si se le indica otro valor, será este el que se utilice: imprimir(“hola”, 2)holahola Para definir funciones con un número variable de argumentos colocamos un último parámetro para la función cuyo nombre debe precederse de un signo *: def varios(param1, param2, *otros):for val in otros:print valvarios(1, 2)varios(1, 2, 3)varios(1, 2, 3, 4) Esta sintaxis funciona creando una tupla (de nombre otros en el ejemplo) en la que se almacenan los valores de todos los parámetros extra pasados como argumento. Para la primera llamada, varios(1, 2), la tupla otros estaría vacía dado que no se han pasado más parámetros que los dos definidos por defecto, por lo tanto no se imprimiría nada. En la segunda llamada otros valdría (3, ), y en la tercera (3, 4). También se puede preceder el nombre del último parámetro con **, en cuyo caso en lugar de una tupla se utilizaría un diccionario. Las claves de este diccionario serían los nombres de los parámetros indicados al llamar a la función y los valores del diccionario, los valores asociados a estos parámetros. En el siguiente ejemplo se utiliza la función items de los diccionarios, que devuelve una lista con sus elementos, para imprimir los parámetros que contiene el diccionario. def varios(param1, param2, **otros):for i in otros.items():print ivarios(1, 2, tercero = 3) Los que conozcáis algún otro lenguaje de programación os estaréis preguntando si en Python al pasar una variable como argumento de una función estas se pasan por referencia o por valor. En el paso por referencia lo que se pasa como argumento es una referencia o puntero a la variable, es decir, la dirección de memoria en la que se encuentra el contenido de la variable, y no el contenido en si. En el paso por valor, por el contrario, lo que se pasa como argumento es el valor que contenía la variable. La diferencia entre ambos estriba en que en el paso por valor los cambios que se hagan sobre el parámetro no se ven fuera de la función, dado que los argumentos de la función son variables locales a la función que contienen los valores indicados por las variables que se pasaron como argumento. Es decir, en realidad lo que se le pasa a la función son copias de los valores y no las variables en si. Si quisiéramos modificar el valor de uno de los argumentos y que estos cambios se reflejaran fuera de la función tendríamos que pasar el parámetro por referencia. En C los argumentos de las funciones se pasan por valor, aunque se puede simular el paso por referencia usando punteros. En Java también se usa paso por valor, aunque para las variables que son objetos lo que se hace es pasar por valor la referencia al objeto, por lo que en realidad parece paso por referencia. En Python también se utiliza el paso por valor de referencias a objetos, como en Java, aunque en el caso de Python, a diferencia de Java, todo es un objeto (para ser exactos lo que ocurre en realidad es que al objeto se le asigna otra etiqueta o nombre en el espacio de nombres local de la función). Sin embargo no todos los cambios que hagamos a los parámetros dentro de una función Python se reflejarán fuera de esta, ya que hay que tener en cuenta que en Python existen objetos inmutables, como las tuplas, por lo que si intentáramos modificar una tupla pasada como parámetro lo que ocurriría en realidad es que se crearía una nueva instancia, por lo que los cambios no se verían fuera de la función. Veamos un pequeño programa para demostrarlo. En este ejemplo se hace uso del método append de las listas. Un método no es más que una función que pertenece a un objeto, en este caso a una lista; y append, en concreto, sirve para añadir un elemento a una lista. def f(x, y):x = x + 3y.append(23)print x, y x = 22y = [22]f(x, y)print x, y El resultado de la ejecución de este programa sería 25 [22, 23]22 [22, 23] Como vemos la variable x no conserva los cambios una vez salimos de la función porque los enteros son inmutables en Python. Sin embargo la variable y si los conserva, porque las listas son mutables. En resumen: los valores mutables se comportan como paso por referencia, y los inmutables como paso por valor. Con esto terminamos todo lo relacionado con los parámetros de las funciones. Veamos por último cómo devolver valores, para lo que se utiliza la palabra clave return: def sumar(x, y):return x + yprint sumar(3, 2) Como vemos esta función tan sencilla no hace otra cosa que sumar los valores pasados como parámetro y devolver el resultado como valor de retorno. También podríamos pasar varios valores que retornar a return. def f(x, y):return x * 2, y * 2a, b = f(1, 2) Sin embargo esto no quiere decir que las funciones Python puedan devolver varios valores, lo que ocurre en realidad es que Python crea una tupla al vuelo cuyos elementos son los valores a retornar, y esta única variable es la que se devuelve. pues bueno hace un tiempito propuse la idea de aprender cosas pues bueno acabare de explicarles cositas de python y nos vamos a trabajarlo con el metin que es lo que les interesa en verdad. proximamente aremos mas partes y de ay vamos con los tutos de crear cosas vosotros mismos de una manera muy facil ;D. Dudas seran aclaradas dentro del mismo post para que muchos usuarios que tengan la misma duda puedan aclararla ;D no siendo mas me despido. saludos.
  3. Deberías hacerte un tuto de todas las funciones te apuesto pocos entenderan
  4. Bro depende de lo que quieras programar, te funcionara ejm yo estuve en mi trabajo haciendo un pequeño programita y pues sin ofender pero eso es pura matematicas ay si tu ves y te das cuenta es para saber cual es mayor de otro y comparativos hacia otra accion bueno si quieres y tienes dudas te puedo pasar unos buenos libritos de esta programacion y de las que necesites en san google encuentras cosas que serviran de por vida saludos
  5. pensamos igual ami no me gusta no mas mirar el minimap no acomoda bien y ya el diseño muy triyado , te digo algo pronto publico la que tienes de firma bueno,no jajajajajaja ;D (ya la saque hace un tiempo)
  6. Sema tambien coje otras cosas y las hace, asi se aprende dando se retos al crear algo y pues asta donde yo se diseño mojito python sema ;D
  7. pues para inagurar mi rango les traigo esta interface que vende sema en su tienda (yo las tengo todas ) pues trae todo completico para que la disfruten no siendo mas ;D me veran mas seguidos aportando cosillas ;D saludos InterfaceWild Dragon.rar
  8. Gracias Terminare El Login con esto *--*
  9. siempre me ha encantado y ya la tenia y justo formatee y se borro y sin photoshop me toco pedir favor *--*
  10. Yo aprendi a sacarlo con una pequeña aplicacion, y ademas nada es imposible de sacar aunque ay cosas dificiles de sacar pero nunca ay nada imposible ;D
  11. bueno cada uno tiene formas distintas de instalar sus cosas.
  12. #mysqladmin -u root password nueva_contraseña#mysql -u root -p#mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '(pon-tu-contraseña)' WITH GRANT OPTION;#mysql>flush privileges;#mysql>quit#reboot Falta Eso Posteas Sin Saberlo, Yo Lo Que Publique Me Lo Sabia Todo Se Como Expresarlo, Dije De Python Lo Saque De Un Libro Lo De C++ Lo Copie & Entendia & Sabia Del Tema Completamente Gracias A Varias Guias Aprendi Lenguajes Sin Necesidad De Rogar Una Ayuda Es Mejor Practicar & Leer Ademas Solo Esta Guia Incompleta miremos a quien le entra al navicat con esa guia como la tienes Ademas Gracias Alos Lenguajes Que He Aprendido & Laboro Con Ellos Porque Me Gano La Vida Ya Con Ellos Ya Poco Me Dedico Al Metin ;D Igual Sigue En La Ignorancia De No Aprender. Saludos ;D
  13. Para Que haces Guia De Esta Si Ya esta, ademas esta incompleta falta instalar la mysql.
  14. quest mapa beginstate start beginwhen idnpc.chat."Jungle Waste (Lv. 110)" with pc.get_level() > 109 beginsay_title("Teletrasportador Mapa Especiales")say("")say("Este es un buen lugar.")say("Pero muy, muy peligroso,")say("Así que pensar dos veces lo que realmente")say("quiero ir allí?")say("")say_reward("Realmente quiero ser teletransportado?") local s1=select("Teletrasportar","Cancelar")if s1 == 1 thenpc.warp(coor, coor)elsereturnend endendend coor = Pone coordenada idnpc = npc que elijas Si hay error Decimelo
  15. http://questyori.site40.net/quest/control_gm.quest Esta Es Muy Completa Creada Por Yori
  16. http://metin2zone.net/index.php/topic/1287-guia-tabla-gms-online/
  17. Eso Fue Lo Que Hize Hace Rato Igual Gracias Por Responder
  18. Bien, vamos a ver más cosas nuevas que tiene C++. Para empezar, ahora podemos crear variables dentro de un bucle for. Antes primero teníamos que poner "int i;" para poder usarla dentro del for. Ahora podemas hacerlo directamente dentro del for. Sin embargo, como la variable se crea dentro del for, al salir de él desaparece. Vamos a ver un ejemplo: Crea un programa que pida al usuario un número, y cuente desde el 0 hasta ese número. #include <iostream>using namespace std; int main() { int numero; cin >> numero; for(/*Creamos la variable i dentro del bulce for*/int i = 0; i <= numero; i++) { cout << i << endl; } //Si intentasemos ahora poner //cout << i << endl; //nos daría error, porque fuera del for, la variable i no existe return 0;} Más cosas. En C era obligatorio poner return 0 al final de main, en C++ si no lo pones no pasa nada (automáticamente devolverá 0 a no ser que indiques otra cosa). Además, (y esto también está en C pero olvidé deciroslo) existe la palabra continue dentro de un bucle, tanto for como while que lo que hace es pasar a la siguiente repetición, sin ejecutar nada más. Vamos a ver un ejemplo resuelto con y sin usar continue. Diseña un programa que pida al usuario 10 numeros y muestre al final la suma de todos los números no negativos que ha introducido el usuario. Solución 1 (con continue): #include <iostream>using namespace std; int main() { int n, suma = 0; for (int i = 0; i < 10; i++) { cout << "Introduce un numero: "; cin >> n; if(n<0) { continue; } suma += n; } cout << "La suma de todos los positivos es " << suma << endl; return 0;} Solución 2 (sin continue): #include <iostream>using namespace std; int main() { int n, suma = 0; for (int i = 0; i < 10; i++) { cout << "Introduce un numero: "; cin >> n; if(n>0) { suma += n; } } cout << "La suma de todos los positivos es " << suma << endl; return 0;} En este caso no resulta muy útil usarlo, pero bueno, ya sabéis que tenéis ahí a continue para que os ayude cuando queráis. Sin embargo, la mayor diferencia entre C y C++ es que C++ es un lenguaje orientado a objetos. Antes de aprender lo que es un objeto, vamos a ver las estructuras (structs) que también existen en C pero no vimos antes. La única diferencia entre las estructuras de C y las de C++ es que las estructuras de C++ pueden contener funciones mientras que las de C no pueden. Una estructura (struct) es un conjunto de variables (y en C++, también pueden ser funciones como hemos dicho antes). Por ejemplo una estructura podría estar formada por dos variables de tipo int y un array de 20 caracteres. Sería algo así: struct mi_estructura { int num1; int num2; char array[20];}; Primero se pone la palabra clave struct. Después el nombre que queramos ponerle a la estructura, el que más os guste; pero como todos los nombres creados por nosotos tiene que cumplir ciertas normas. A continuación abrimos una llave, y dentro separados por comillas ponemos cada variable que formará parte de la estructura. Cada una de estas variables es un "campo" de la estructura. Después de cada una ponemos punto y coma. Al final, cerramos una llave y después otro punto y coma. Una vez creado digamos el "prototipo" de la estructura, podemos crear estructuras que tengan los mismos "campos" y cambiar sus valores. Para hacer una estructura del tipo "mi_estructura" en C se hacía así: struct mi_estructura var; y "var" será ahora una estructura que contenga dos campos que son números enteros y otro que es un array de 20 caracteres. Sin embargo en C++ podemos no poner "struct" si queremos. Se quedaría así: mi_estructura var; Se podría decir que mi_estructura es un tipo de datos, al igual que int o float, y que este último código crea una variable de tipo mi_estructura. Sin embargo, lo útil de una estructura es acceder a sus campos. Si queremos que el campo "num1" de "var" valga -25 escribiríamos esto: var.num1 = -25; Para acceder a los campos de una estructura lo hacemos con un punto (.). También podemos hacer un puntero que "apunte" a una estructura. La diferencia es que para acceder a sus campos en lugar de un punto (.) usaremos una flecha, formada por un signo menos (o un guión, que en realidad es lo mismo) y un signo de mayor que (->). mi_estructura *var;var->num1 = -25; Ejercicio 4 (B): Crea una estructura "alumno" cuyos campos serán el nombre del alumno y su edad (tú debes decidir qué tipo de datos será cada uno). Después crea una variable de tipo "alumno" con el nombre que prefieras. Pide al usuario que rellene sus dos campos y luego muéstralos por pantalla. Recuerda las funciones que necesitas para trabajar con cadenas. Ejemplo de entrada: Eduardo17 Ejemplo de salida: [codeNombre: Eduardo. Edad: 17 años.[/code] Ejercicio 5 (M): Pide al usuario un número N. Después crea un array de N estructuras, cada una contendrá dos campos. El primero, de tipo float, y el segundo de tipo int. Después, pedirá al usuario que rellene todos los campos de todas las estructuras y al final mostrará la suma de todos los floats y la resta de todos los ints. Ejemplo de entrada: 21.9 72.2 3 Ejemplo de salida: La suma es 4.1 y la resta es 4. Espero Os Sirva Dudas Comenten y lo aclaro coordial Saludo
  19. Es Un Libro Que Ando Estudiandolo =)
  20. Para facilitar el mantenimiento y la lectura los programas demasiado largos pueden dividirse en módulos, agrupando elementos relacionados. Los módulos son entidades que permiten una organización y división lógica de nuestro código. Los ficheros son su contrapartida física: cada archivo Python almacenado en disco equivale a un módulo. Vamos a crear nuestro primer módulo entonces creando un pequeño archivo modulo.py con el siguiente contenido: def mi_funcion():print “una funcion”class MiClase:def __init__(self):print “una clase”print “un modulo” Si quisiéramos utilizar la funcionalidad definida en este módulo en nuestro programa tendríamos que importarlo. Para importar un módulo se utiliza la palabra clave import seguida del nombre del módulo, que consiste en el nombre del archivo menos la extensión. Como ejemplo, creemos un archivo programa.py en el mismo directorio en el que guardamos el archivo del módulo (esto es importante, porque si no se encuentra en el mismo directorio Python no podrá encontrarlo), con el siguiente contenido: import modulomodulo.mi_funcion() El import no solo hace que tengamos disponible todo lo definido dentro del módulo, sino que también ejecuta el código del módulo. Por esta razón nuestro programa, además de imprimir el texto “una funcion” al llamar a mi_funcion, también imprimiría el texto “un modulo”, debido al print del módulo importado. No se imprimiría, no obstante, el texto “una clase”, ya que lo que se hizo en el módulo fue tan solo definir de la clase, no instanciarla. La clausula import también permite importar varios módulos en la misma línea. En el siguiente ejemplo podemos ver cómo se importa con una sola clausula import los módulos de la distribución por defecto de Python os, que engloba funcionalidad relativa al sistema operativo; sys, con funcionalidad relacionada con el propio intérprete de Python y time, en el que se almacenan funciones para manipular fechas y horas. import os, sys, timeprint time.asctime() Sin duda os habréis fijado en este y el anterior ejemplo en un detalle importante, y es que, como vemos, es necesario preceder el nombre de los objetos que importamos de un módulo con el nombre del módulo al que pertenecen, o lo que es lo mismo, el espacio de nombres en el que se encuentran. Esto permite que no sobreescribamos accidentalmente algún otro objeto que tuviera el mismo nombre al importar otro módulo. Sin embargo es posible utilizar la construcción from-import para ahorrarnos el tener que indicar el nombre del módulo antes del objeto que nos interesa. De esta forma se importa el objeto o los objetos que indiquemos al espacio de nombres actual. from time import asctimeprint asctime() Aunque se considera una mala práctica, también es posible importar todos los nombres del módulo al espacio de nombres actual usando el caracter *: from time import * Ahora bien, recordareis que a la hora de crear nuestro primer módulo insistí en que lo guardarais en el mismo directorio en el que se encontraba el programa que lo importaba. Entonces, ¿cómo podemos importar los módulos os, sys o time si no se encuentran los archivos os.py, sys.py y time.py en el mismo directorio? A la hora de importar un módulo Python recorre todos los directorios indicados en la variable de entorno PYTHONPATH en busca de un archivo con el nombre adecuado. El valor de la variable PYTHONPATH se puede consultar desde Python mediante sys.path >>> import sys>>> sys.path De esta forma para que nuestro módulo estuviera disponible para todos los programas del sistema bastaría con que lo copiáramos a uno de los directorios indicados en PYTHONPATH. En el caso de que Python no encontrara ningún módulo con el nombre especificado, se lanzaría una excepción de tipo ImportError. Por último es interesante comentar que en Python los módulos también son objetos; de tipo module en concreto. Por supuesto esto significa que pueden tener atributos y métodos. Uno de sus atributos, __name__, se utiliza a menudo para incluir código ejecutable en un módulo pero que este sólo se ejecute si se llama al módulo como programa, y no al importarlo. Para lograr esto basta saber que cuando se ejecuta el módulo directamente __name__ tiene como valor “__main__”, mientras que cuando se importa, el valor de __name__ es el nombre del módulo: print “Se muestra siempre”if __name__ == “__main__”:print “Se muestra si no es importacion” Otro atributo interesante es __doc__, que, como en el caso de funciones y clases, sirve a modo de documentación del objeto (docstring o cadena de documentación). Su valor es el de la primera línea del cuerpo del módulo, en el caso de que esta sea una cadena de texto; en caso contrario valdrá None. Espero Os Guste Mis Guias Dudas Comenten
  21. Si serex Pero Como Entro Con Otro Usuario No Deja editarlo :/
×
×
  • Crear nuevo...