Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: desnight en 22 Febrero 2008, 22:31 pm



Título: pregunta sobre python.
Publicado por: desnight en 22 Febrero 2008, 22:31 pm
he hecho un pequeño programa para sumar y retar y me gustaria saber que cuando da 
fallo se vuelva a repetir.

El codigo:

import os

opciones = raw_input("Elige que deseas hacer: sumar o restar:")

if opciones == "sumar":
    a=float(raw_input("Dame un numero:"))
    b=float(raw_input("Otro mas:"))
    print "El resutado es:",a+b


if opciones =="restar":
    a=float(raw_input("Dame un numero:"))
    b=float(raw_input("Otro mas:"))
    print "El resutado es:",a-b

else:
   print "Debes elegir sumar o restar"

os.system("pause > nul")           


Título: Re: pregunta sobre python.
Publicado por: Ragnarok en 23 Febrero 2008, 22:24 pm
No te preocupes, el comportamiento de tu programa es completamente repetible, no tiene condiciones de carrera ni nada que haga que su funcionamiento varíe de una vez para otra.

De paso echa un vistazo a las normas, sé que no lo has hecho porque son nuevas, no sé por qué se me había pasado...


Título: Re: pregunta sobre python.
Publicado por: desnight en 24 Febrero 2008, 17:17 pm
Lo que quiero decir es que si por ejemplo me equivoco en escribir la opcion que cuando ponga "Debes elegir sumar o restar" que se vuelva a ejecutar y que no se cierre.

Saludos.


Título: Re: pregunta sobre python.
Publicado por: [¢asper] en 24 Febrero 2008, 17:36 pm
Sencillo, mete todo dentro de un bucle while..

o creas una funcion menu.... y la llamas si se produce un error..

Código
  1. if opciones == "sumar":
  2.    a=float(raw_input("Dame un numero:"))
  3.    b=float(raw_input("Otro mas:"))
  4.    print "El resutado es:",a+b
  5.  
  6.  
  7. if opciones =="restar":
  8.    a=float(raw_input("Dame un numero:"))
  9.    b=float(raw_input("Otro mas:"))
  10.    print "El resutado es:",a-b
  11.  
  12. else:
  13.   print "Debes elegir sumar o restar"
  14.   menu()
  15.  
  16. os.system("pause > nul")

y creas una opcion salir..

salu2


Título: Re: pregunta sobre python.
Publicado por: Ragnarok en 24 Febrero 2008, 19:43 pm
Lo que quiero decir es que si por ejemplo me equivoco en escribir la opcion que cuando ponga "Debes elegir sumar o restar" que se vuelva a ejecutar y que no se cierre.

Haberlo dicho desde el principio.

Sencillo, mete todo dentro de un bucle while..

o creas una funcion menu.... y la llamas si se produce un error..

Mejor la opción del while, que no incrementa el consumo de espacio en pila por cada error.


Título: Re: pregunta sobre python.
Publicado por: desnight en 24 Febrero 2008, 20:07 pm
Gracias pero he estado buscando por google como hacer un bucle while pero no encuentro nada ¿me podrian decir como se hace?si no es mucha molestia.

Saludos.


Título: Re: pregunta sobre python.
Publicado por: Ragnarok en 24 Febrero 2008, 20:39 pm
http://docs.python.org/ref/while.html


Título: Re: pregunta sobre python.
Publicado por: desnight en 24 Febrero 2008, 21:11 pm
Gracias pero el link esta en ingles y no lo entiendo.
 
Saludos.


Título: Re: pregunta sobre python.
Publicado por: Xpod en 27 Febrero 2008, 00:05 am
saben escribo lo del menu() pero en vez de eso se cierra sin siquiera mostrar el print del :else