pyCthon
pyCthon

Reputation: 12341

accepting multiple user inputs separated by a space in python and append them to a list

How can I accept multiple user inputs separated by a space? I don't know the number of inputs, but I do know they are all ints.

Here's some example inputs:

13213 412 8143
12 312
1321 142 9421 9 29 319 

I know can do this if I know the number of inputs beforehand, but I'm having trouble making this generic. I could just ask the user to input how many groups of ints he will input:

inputs = int(raw_input("Enter number of raw inputs "))
num = []
for i in xrange(1, inputs):
    num.append(raw_input('Enter the %s number: '))

But I am looking for a more elegant solution that doesn't require asking the user 2 questions.

Upvotes: 9

Views: 20384

Answers (4)

user6451148
user6451148

Reputation: 11

x,y=map(int,input().split()) #this will take input separated by space and map #into int

Upvotes: 0

kybrdbnd
kybrdbnd

Reputation: 97

for python 2.x

x,y = map(int,raw_input().split())

it take two variable x and y of int type separated by space and you can replace int with your desired type

for python 3.x

x,y = input().split()

it takes two variables x and y of string type separated by space and you have to convert explicitly

Upvotes: 0

inspectorG4dget
inspectorG4dget

Reputation: 113915

Try this:

nums = [int(i) for i in raw_input("Enter space separated inputs: ").split()]

Upvotes: 12

Hugh Bothwell
Hugh Bothwell

Reputation: 56634

s = raw_input("Please enter your numbers: ")

mynums = [int(i) for i in s.split()]
# OR
mynums = map(int, s.split())

Upvotes: 25

Related Questions