[Hilo Oficial] Esto también es otro arte...el ARTE de programar - Versión para impresión +- 33bits (https://33bits.net/foro) +-- Foro: Temas de debate (https://33bits.net/foro/Foro-Temas-de-debate) +--- Foro: Off Topic (https://33bits.net/foro/Foro-Off-Topic) +--- Tema: [Hilo Oficial] Esto también es otro arte...el ARTE de programar (/Tema-Hilo-Oficial-Esto-tambi%C3%A9n-es-otro-arte-el-ARTE-de-programar) |
RE: Esto también es otro arte...el ARTE de programar - Jase - 20-08-2015 ¿Pero eso lo entiendes? RE: Esto también es otro arte...el ARTE de programar - xecollons - 20-08-2015 (20-08-2015 19:57)Jase escribió:¿Pero eso lo entiendes? Claro, tú no?┬á Na, al final es estudiarselo sin más. Es una sintaxis como otra cualquiera, pero más enrevesada. RE: Esto también es otro arte...el ARTE de programar - Jase - 21-08-2015 Creo que puedo dar gracias de que no voy a trabajar ensamblador nunca xD RE: Esto también es otro arte...el ARTE de programar - srlara - 06-10-2015 Buenas @jase te contesto por aquí, pa levantar esto http://www.oracle.com/technetwork/database/express-edition/database10gxe-459378.html ahí creo que se puede descargar la gratis.. que es la Oracle Express Edition 10g porque a veces aparecen la Enterprise y que gratis pero en lo que empiezas a crear objetos te dice que necesitas una licencia pl/sql se usa mucho, la banca privada por ejemplo tiene seudocodigo basado en pl/sql que de por si se necesita unos dos años para medio entenderlo jajajaja RE: Esto también es otro arte...el ARTE de programar - Jase - 06-10-2015 "The version of Oracle Database you are looking for is no longer available on OTN." Explícame qué es eso de programación orientada a objetos en bases de datos. Sólo sé hacer consultas y manejar datos, pensaba que consistía en eso RE: Esto también es otro arte...el ARTE de programar - srlara - 06-10-2015 eso me pasa por las prisas @jase aqui tienes la version 11 y 12 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index-092322.html que te sirven igual, a nivel de desarrollo no hay mucha diferencia de 10 a 11 es más de eficiciencia de motor y que agregaron objetos clob (para textos muy grandes) y algunas librerias para desarrollo en web OTN es el foro de oracle en pl/sql tienes librerias de funciones.. y creas packages, stored procedures que puedes llamar desde cualquier sitio del desarrollo RE: Esto también es otro arte...el ARTE de programar - Jase - 06-10-2015 Guay, pues esta noche me lo bajo Y no te saltes lo de la explicación RE: Esto también es otro arte...el ARTE de programar - srlara - 06-10-2015 @jase te lo he explicado es esto "en pl/sql tienes librerias de funciones.. y creas packages, stored procedures que puedes llamar desde cualquier sitio del desarrollo" Esto también es otro arte...el ARTE de programar - xecollons - 06-10-2015 Tambien puede utilizar postgresql que es totalmente gratis y tambien tiene soporte para procedimientos almacenados y toda la pesca. Pero ademas si quiere enlazarlo con java lo mejor es dejarse de procs y usar un ORM como es Hibernate, por ejemplo. RE: Esto también es otro arte...el ARTE de programar - AcAnchoa - 14-10-2015 A ver si podéis echarme un cable. Me puse a hacer un programa con python para invertir matrices mediante una descomposición LU. El método incluye una permutación de la matriz, para lo que hay que hacer una matriz de permutación vía pivotación parcial a partir de una matriz identidad. Osease, tenemos tres matrices:
Para hacer esto yo creé una función que me busca ese valor mayor y me devuelve su posición. Pero luego, mirando ejemplos de esto mismo en internet, me topé con que lo están haciendo metiendo un keyword con una función lambda en la función max(), y no entiendo de qué va el tema. He mirado el tema de funciones lambda y keywords y me pierdo. ¿Alguno podéis arrojar algo de luz al respecto de estas funciones lambda y los keyword? Mi código para sacar la matriz P: Código: def pivot(M): Y el código que vi y me dejó roto: Código: def pivot(M): Y para usarlo por ejemplo tal que así: Código: F = [2 ,3 ,4 ,4], [3 ,-1 ,7 ,2], [6 ,4 ,-4 ,0], [1 ,6 ,-2 ,1] Edito: Me cago en la leche, Merche, el foro se carga la identación. Apaña esto, Jase > : ( . RE: Esto también es otro arte...el ARTE de programar - AcAnchoa - 15-10-2015 Me ha soplado Jase que @Lamont sabe de esto, así que lo invoco con un ritual malévolo . RE: Esto también es otro arte...el ARTE de programar - Margaruga - 15-10-2015 Hola, te pongo unos ejemplillos: Las funciones lambda siguen la siguiente sintaxis básica: Código: lambda lista_de_parámetros : valor de retorno Por ejemplo: Código: multiplica = lambda a, b: a * b Su propósito en la vida es coger un valor y devolver otro sin alterar el estado del objeto que recibe como parámetro. Python viene de serie con un conjunto de funciones que aceptan objetos iterables y funciones ( que pueden ser lambda, funciones normales, o cualquier objeto que se puede "llamar" con () ): Por ejemplo la función map, aplica a cada elemento de una lista u objeto iterable una función: Código: lista = [1, 2, 3, 4, 5, 6, 7] Ahora lo mismo pero esta vez con funciones lambda: Código: map(lambda a : a * 2, lista) -> evalua a ┬á[2, 4, 6, 8, 10, 12, 14] La lista permanece intacta, map genera un nuevo objeto iterable que se puede combinar en otras expresiones. Dentro de un función lambda, está permitido utilizar if en su expresión ternaria: Código: mayorque10 = lambda n : True if n > 10 else False Un ejemplo un poco más complejo de funciones lambda sería el siguiente, por ejemplo como implementar la propia función map: Código: _map = lambda funcion, lista : [funcion(lista[0])] + _map(funcion, lista[1:]) if len(lista) > 1 else [funcion(lista[0])] Es decir, aplicamos la función a elemento 0 de la lista, metemos ese valor dentro de una nueva lista: [funcion(lista[0])] y si todavía queda más de un elemento en la lista, llamamos de forma recursiva a _map con el resto de la lista _map(funcion, lista[1:]), la sublistas se concatenan y al final obtiene lista final. Volviendo a tu ejemplo, la función max devuelve el valor máximo de una lista: Código: lista = [0, 10, 15] max acepta otro argumento, key,┬á si max no recibe key, la key de cada elemento de la lista es el propio valor del elemento y max se basa en la key para determinar cual es el elemento mayor. Código: Elemento ┬á Key Ahora bien, si por ejemplo, le pasamos la siguiente expresión lambda como key Código: max(lista, key=lambda a : 100 if a == 0 else a) -> evalua a 0 Lo que hace es aplicar a cada elemento de la lista la función lambda para obtener la key: Código: Elemento ┬á Key Ahora la key máxima es 100, que pertenece al elemento 0. Por lo tanto devuelve 0. |