[Tutor] Problem with multiple input
Alan Gauld
alan.gauld at btinternet.com
Wed Jul 29 05:51:00 CEST 2009
"pja" <peterjohnanderson at gmail.com> wrote
> One major problem is that the book is written for Python 2.x and I am
> using Python 3.1 (and don't want to switch back).
Very few books/tutorials exist yet for v3. But you seem to be
coping with the differences adequately. My tutorial for v3 is
almost half-way complete, you might find it useful as a secondary
resource:
http://www.alan-g.me.uk/l2p/
def main():
# Introduction
print("This program calculates the sum and difference of two
numbers.")
# number1 = float(input("Enter the first number: "))
# number2 = float(input("Enter the second number: "))
number1, number2 = (input("Please enter two numbers: ").split())
number1, number2 = float(number1), float(number2)
> The example code works but I don't think it is either optimum or
> elegant. Could someone help me with the "correct" Python way of doing
That loooks OK although its a little bit unusual to request two input
values on one line - just because of the difficulty of parsing the result.
Its hard enough to get users to input correct values one at a time!
Never mind formatting two values... as you discovered:
> Also the working code only woks with input numbers that are separated by
> a space. How would I do this with numbers that are separated by a comma?
However you can pass a string to split() that will split the line on
any of the characters in the string. So in your case you could
request a split using spaces and commas - and I suggest adding
semi colons and tabs too?
number1, number2 = (input("Please enter two numbers: ").split("
,;\t"))
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list