On 29/10/2016 14:51, Dennis Lee Bieber wrote:
On Sat, 29 Oct 2016 12:53:35 +0100, BartC <b...@freeuk.com> declaimed the
following:
BTW what does reading three integers from the user look like in Python?
On one line, or on three lines?
(Python 2.7)
ln = raw_input("Enter three integers separated by spaces: ")
ints = []
for i, wd in enumerate(ln.split()):
try:
anInt = int(wd)
except: #yes, I know -- the horrible bare except clause
print ("***** item %s: '%s' could not be converted to integer"
% (i, wd) )
anInt = None
ints.append(anInt)
Yes, that's the sort of thing I was expecting, that's why I asked.
I still think a beginner would much prefer something along the lines of
'readln a,b,c' (and I still think that's more intuitive).
(The first programming exercises I ever did involved typing in integers
from the user, and sorting them or working out if they made a triangle
or whatever.
But in Python someone would first need to master for-loops, enumeration,
string-processing, numeric conversion, exceptions and, your second
example, functions. That's quite a steep learning curve! (And that
second example starts to involve re-inventing things.)
(BTW the functionality of my 'readln a,b,c' differs from the above.
Separators can be anything reasonable. When eol is encountered, it will
read zeros. And errors are not handled: any non-numeric will yield zero.
When reading name, file and string items rather than integers, the split
method doesn't deal with embedded quotes. Probably there are bigger guns
you can bring out to deal with more elaborate input, but it starts to
get further away from beginner level.)
--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list