On 09/22/2016 06:40 AM, Sayth Renshaw wrote:
[snip...]
True it failed, just actually happy to get it to fail or pass successfully on
int input.
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.
Cheers
Sayth
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
utility library:
---------------
get_num(prmt, min_val=None, max_val=None, flt=False)
Get a number from the console
Parameters:
prmt: The prompt to be used with the input function, required.
min_val: The minimum permissible value, or None if no minimum (the
default)
max_val: The maximum permissible value, or None if no maximum (the
default)
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.
something similar.
--
-=- Larry -=-
--
https://mail.python.org/mailman/listinfo/python-list