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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [PYTHON] Menu opciones ¿Con funciones es lo correcto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [PYTHON] Menu opciones ¿Con funciones es lo correcto?  (Leído 31,662 veces)
Yidu

Desconectado Desconectado

Mensajes: 133


Ver Perfil
Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
« Respuesta #10 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!


En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
« Respuesta #11 en: 30 Marzo 2013, 16:39 pm »

corregido :
si te fijas solo cambie dos lineas de codigo del programa asi que vas por buen camino
si no entiendes lee algo sobre listas  ;D

el return no les da nombre el a las variables num1 y num2 eso es algo que uno se lo da luego

siempre que retornes un valor de una funcion guardalo en una variable (o lista que es un conjunto de variables)
Código
  1. def cinconum():
  2. return 5
  3.  
  4. cinco=cinconum()
  5.  

claro esto a menos que quieras imprimir directamente la funcion

Código
  1. def cinconum():
  2. return 5
  3.  
  4. print cinconum()
  5.  

Código
  1. def escojo ():
  2.    num1 = int (raw_input ('> Dime el primer numero: '))
  3.    num2 = int (raw_input ('> Dime el segundo numero: '))
  4.    return num1,num2
  5.  
  6. def suma (a,b):
  7.    return a + b
  8. def opcion():
  9.    opc = int(raw_input ('Escoge una opcion "q" salir'))
  10.    if opc == 1:
  11.        numeros=escojo()
  12.        print suma(numeros[0],numeros[1])
  13.  
  14. def menu():
  15.    print '''Menu\n
  16.    1. Suma
  17.    2. Resta
  18.    3. Multiplicacion
  19.    4. Division
  20.    Q. Salir'''
  21. while 1:
  22. menu()
  23. opcion()
  24.  
  25.  
  26.  
PD:no te preocupes por la seguridad del code hasta mas adelante diria yo... ademas de eso piensa en input y raw_input como funciones...


« Última modificación: 30 Marzo 2013, 17:03 pm por daryo » En línea

buenas
Yidu

Desconectado Desconectado

Mensajes: 133


Ver Perfil
Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
« Respuesta #12 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   :silbar:

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:

Código
  1. def escojo ():
  2.    num1 = int (raw_input ('> Dime el primer numero: '))
  3.    num2 = int (raw_input ('> Dime el segundo numero: '))
  4.    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.
« Última modificación: 30 Marzo 2013, 19:52 pm por Yidu » En línea

Yidu

Desconectado Desconectado

Mensajes: 133


Ver Perfil
Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
« Respuesta #13 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...
En línea

0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
Re: [PYTHON] Menu opciones ¿Con funciones es lo correcto?
« Respuesta #14 en: 3 Abril 2013, 02:56 am »

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!
Usar input() es más limpio que utilizar int(raw_input()) y es igual que usar input() , de una manera más sucia.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Menu opciones anti-batch injections. Permite hasta 10 opciones.
Scripting
carlitos.dll 0 2,901 Último mensaje 7 Octubre 2008, 08:21 am
por carlitos.dll
[Python] Importar Funciones de C++ a Modulo de Python
Scripting
Di6it4Lj4ck4L 2 4,063 Último mensaje 2 Mayo 2011, 19:08 pm
por Di6it4Lj4ck4L
Menu en python con otro menu dentro
Scripting
AdeLax 2 6,597 Último mensaje 7 Octubre 2012, 21:46 pm
por AdeLax
Ayuda menú de opciones
Programación C/C++
Bus_19 3 2,169 Último mensaje 18 Noviembre 2012, 20:09 pm
por leosansan
Duda con C, funciones y menu de opciones.
Programación C/C++
faakuh 3 4,668 Último mensaje 10 Agosto 2017, 23:34 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines