pregunta sobre python.

Iniciado por desnight, 22 Febrero 2008, 22:31 PM

0 Miembros y 2 Visitantes están viendo este tema.

desnight

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")           
Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

Ragnarok

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...
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

desnight

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.
Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

[¢asper]

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

Ragnarok

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.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

desnight

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.
Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

Ragnarok

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

desnight

Gracias pero el link esta en ingles y no lo entiendo.

Saludos.
Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

Xpod

saben escribo lo del menu() pero en vez de eso se cierra sin siquiera mostrar el print del :else
Newbie es el novato con ganas de aprender pasando por  el camino duro,
Noob es el novato que quiere la fama y prestigio a cualquier costo y facilmente asi como desprestigiar a otros o usar la fama de otros.

NO SEAS UN NOOB SI ERES NUEVO TEN DIGNIDAD