|
81
|
Programación / Scripting / Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
|
en: 31 Marzo 2013, 20:48 pm
|
Pues ahora me ha surgido una duda. Es decir, que le veo lagunas al tema de las funciones dentro del bucle while.
Como dentro del while está la función opcion(), no me deja salir de ella. Osea, si escojo la opción Q del menu (que es salir), se me repite el bucle. Por lo tanto, hay algo que se me escapa...
|
|
|
83
|
Programación / Scripting / [PYTHON] ¿Una lista no se puede meter dentro de si misma?
|
en: 30 Marzo 2013, 21:11 pm
|
Estoy haciendo pruebas en el tema de objetos list (listas). Y no hay ningún problema cuando metemos en una lista otra lista. Pero claro, cuando la otra es diferente. Se me ocurrió meter dentro de la lista creada, a ella misma. De esta forma: lista = [1,2,3,4,5] lista.append (lista) print lista
Y me arroja este resultado: [1, 2, 3, 4, 5, [...]]
¿No debería haber sido?: [1, 2, 3, 4, 5, [1,2,3,4,5]]
Es decir, lista dentro de lista
|
|
|
84
|
Programación / Scripting / Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
|
en: 30 Marzo 2013, 19:19 pm
|
Muchas gracias daryo. Como se nota que para ti es coser y cantar. Pero al principio, esto de las funciones, se me atraganta un poco. Como bien recomienda todo el mundo...practicar y practicar. Ya veremos cuando llegue a la POO Me estudiaré bien tu modificación al código que posteé. Es mas o menos lo que quería hacer. Me ha gustado el tema de incluir dentro de la función [suma] los indices a que hacen referencia la variable [numeros]. Es decir, la variable se transforma en parámetro. Cuando tenga la calculadora pondré en este post. Un saludo! EDITO: def escojo (): num1 = int (raw_input ('> Dime el primer numero: ')) num2 = int (raw_input ('> Dime el segundo numero: ')) return num1,num2
Ah...! , ya lo entiendo. Cuando ejecutamos la función escojo(), esta, nos devuelve una tupla. Es por este motivo que podemos recurrir a sus indices ¡Muy bueno! Supongo que esto luego se puede modificar. Es decir, que esta tupla que nos devuelve el return se puede convertir en objeto list o lo que se nos ocurra.
|
|
|
85
|
Programación / Scripting / Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
|
en: 30 Marzo 2013, 11:13 am
|
Pues es porque las variables num1 y num2 que pides los datos no son accesibles desde otro def, pues no son globales... Y usa input() no int(raw_input())
Creo que no leíste nada de lo que escribí más arriba u_u
Saludos, Javier.
Si que he leído lo que has escrito. Pero es normal que tenga dudas. En todo caso, siempre recomiendan usar los menos posible el input. Yo utilizo la versión 2.7.3. Dicen, que usando el input se puede liar un follón. Osea, código malicioso y tal. Yo intento aprender con lo que leo en los manuales o tutoriales. Un saludo!
|
|
|
86
|
Programación / Scripting / Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
|
en: 29 Marzo 2013, 11:20 am
|
No necesariamente debemos crear una función con el menú de la aplicación a crear,
Ya...lo que pasa, es que estoy aprendiendo el uso de funciones. Y claro, estoy haciendo pruebas simples y tal. Supongo que una calculadora (como dijeron por aquí) se puede hacer de mil formas. Pero claro, busco no repetir el código en cada opción que pulsemos. Por eso, mi énfasis en uso de funciones. Y mas, que es lo que recomiendan en todos los libros que voy leyendo de Python. Pero me he quedao estancado. Estoy haciendo este código...y cuando le doy a la opción 1 [sumar], me pide los dos números correctamente. Pero la suma no la hace. Me da error. El código no está acabado. Pero con solo probar la suma, no funciona. def escojo (): num1 = int (raw_input ('> Dime el primer numero: ')) num2 = int (raw_input ('> Dime el segundo numero: ')) return num1,num2 def suma (a,b): return a + b def opcion(): opc = int(raw_input ('Escoge una opcion "q" salir')) if opc == 1: escojo() print suma (num1,num2) def menu(): print '''Menu\n 1. Suma 2. Resta 3. Multiplicacion 4. Division Q. Salir''' while 1: menu() opcion()
|
|
|
87
|
Programación / Scripting / Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
|
en: 28 Marzo 2013, 19:32 pm
|
¡Muchas gracias daryo!. A esto me refería. Es que he visto ejemplos que abusan de los whiles y repetición constante de los inputs. Supongo que luego se puede definir el menu como una función. Y así, si estamos en otra parte del programa, poder llamarlo de nuevo. Cosa mas complicada si es un while ¿No?
Voy a practicar e iré posteando mis avances. Un saludo!
|
|
|
89
|
Programación / Scripting / Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
|
en: 28 Marzo 2013, 19:01 pm
|
no hay una unica forma correcta de hacerlo. Si no fuera asi la programacion seria muy aburrida no? XD
Ya, eso lo entiendo. Pero supongo, que cuantos menos código, mejor. Y claro, he visto ejemplos de como hacer una calculadora con whiles y un monton de raw_input. En cambio, otros optan por usar funciones. En este último caso, veo el código mas ordenado y comprensible. Eso sin contar que es mas fácil volver a llamar bloques de código llamando a esas funciones de nuevo. Pienso, que abusando de los ciclos, esta uno mas atado al código.
|
|
|
90
|
Programación / Scripting / [PYTHON] Menu opciones ¿Con funciones es lo correcto?
|
en: 28 Marzo 2013, 18:42 pm
|
Hola de nuevo Me estoy liando un poco con el tema de los menús de opciones en Python. Querría saber cual es la forma correcta de hacerlos. Es decir, para crear el típico ejemplo de una calculadora. Por lo que he podido de ver, de los ejemplos que están por la red, la mayoría recomiendan usar funciones. Osea, que la primera función sea (por ejemplo) menu(). Y dentro de esta función, todas las opciones. Luego, dependiendo la opción que escojamos, nos mande a otra función... sumar(), restar(),etc... Otros programadores, usan muchos if y repiten en cada opción, los raw_input dentro de cada función. Yo esto, no lo encuentro muy correcto. Me gustaría ver si alguien puede postear la forma correcta de hacerlo. Pero sin recurrir a la POO. Ya que todavía no he llegado a eso.... Quiero aprender como es la mejor manera de hacer un menú. Entiendo que hay muchas maneras de hacerlo. Y quiero evitar recurrir a muchos if, elif, else, raw_inputs, ......Un saludo!
|
|
|
|
|
|
|