Test Foro de elhacker.net SMF 2.1

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 (python) [Seleccionar]
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"
   menu()

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
Cita de: 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.

Haberlo dicho desde el principio.

Cita de: [¢asper] en 24 Febrero 2008, 17:36 PMSencillo, 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