3 values (numbers) in 1 input separation. Python 3

dkentre picture dkentre · Sep 15, 2013 · Viewed 15k times · Source

I'm working on a code right now that a part of it requires to ask the user for 3 different numbers in one line ( could be any number of digits in each number). Say I ask the user for the input and he enters : "31 722 9191". A space is required between the numbers. How would you go about separating these numbers and assigning a variable to each one of them. So for example 31 would be "A", 722 would be "B" and so on... What I've got so far:

user_input = input(" Please enter the numbers: ")

Thanks !

Answer

Shashank picture Shashank · Sep 15, 2013

Use a combination of split and sequence unpacking.

user_input = user_input(" Please enter the numbers: ")
a, b, c = user_input.split()

split will take your string of numbers, say "x y z", and turn it into a list of elements in the string where the elements are all the words in the string that are separated by spaces. Thus split will yield the string ['x', 'y', 'z'] for input 'x y z'.

Since a list is a form of sequence, its elements can be "unpacked" and assigned to a list of variables of your choosing.