[Programación]Programar opción por defecto en python
galli.87 en gmail.com
galli.87 en gmail.com
Lun Ago 26 13:19:10 ART 2013
emilianogavilan en gmail.com writes:
> >> El 14/08/2013 03:34 p.m., Horacio Castellini escribió:
> >> > Holas... Buscando no me doy idea de como programar una opción por
> defecto para
> >> > finalizar un programa, por ejemplo:
> >> >
> >> > cosa=raw_input("desea continuar [S]/N ")
> >> >
> >> > entonces lo que debe ocurrir es:
> >> >
> >> > Si se ingresa enter se supone que es "S", lo mismo que si se ingresa
> "S", en
> >> > caso contrario se toma como "N" de no...
> >> >
> >> > alguna sugerencia?
> >> >
>
Pa' lo' pibe:
def y_or_n(msg, default=True, yes="y", no="n"):
"""
>>> y_or_n("desea continuar [S]/N ", yes="S", no="N")
desea continuar [S]/N S
True
>>> y_or_n("desea continuar [S]/N ", yes="S", no="N")
desea continuar [S]/N N
False
>>> y_or_n("desea continuar [S]/N ", yes="S", no="N")
desea continuar [S]/N q
desea continuar [S]/N s
desea continuar [S]/N e
desea continuar [S]/N
True
>>> y_or_n("desea continuar [S]/N ", yes="S", no="N", default=False)
desea continuar [S]/N q
desea continuar [S]/N s
desea continuar [S]/N
False
"""
opt = None
while opt not in ["", yes, no]:
opt = raw_input(msg)
if not opt:
return default
return not opt == no
Saludos,
Fabián.
Más información sobre la lista de distribución Programacion