On 09/22/2016 06:40 AM, Sayth Renshaw wrote:
True it failed, just actually happy to get it to fail or pass successfully on
Just felt it was a clearer and more consistent approach to verifying input,
then most of the varied and rather inconsistent approaches I have seen in
trying to get this to work.
Half opt for try except the other half if else and then implement them largely
differently. Every many and varied approach str2bool(), isalpha() using list
with isinstance(var, [ int, str, bool]) etc.
Anyway back to the old drawing board.
IMHO... This sort of thing deserves to be written as a separate function which can then be
called anytime, anyplace. This keeps your validation and repeated input in one place and is
done automatically, and lets your main program simply assume the input is valid.
For example, here is the help message for the number input function I wrote for my personal
get_num(prmt, min_val=None, max_val=None, flt=False)
Get a number from the console
prmt: The prompt to be used with the input function, required.
min_val: The minimum permissible value, or None if no minimum (the
max_val: The maximum permissible value, or None if no maximum (the
flt: If True, accepts and returns floats
If False, accepts and returns integers (the default)
Invalid input or out-of-range values are not accepted and a warning message
is displayed. It will then repeat the input prompt for a new value.
Admittedly, this may be overkill for general use, but it IS very handy. Even if it is overkill,
it is still very easy to use. Similar validated input functions are useful as well — such as a
Yes/No function among others.
If you're interested, I could post the source for this version, but if you think of it as a
generic function rather than for a specific situation, it is pretty straight-forward to write.
-=- Larry -=-