在python中从用户那里获取多个输入

时间:2011-09-11 12:12:47

标签: python

我知道如何在python 2.5中从用户那里获取一个输入:

raw_input("enter 1st number")

这将打开一个输入屏幕并输入第一个数字。如果我想要第二个输入,我需要重复相同的命令,并在另一个对话框中打开。 如何在打开的同一个对话框中将两个或多个输入组合在一起:

Enter 1st number:................
enter second number:.............

17 个答案:

答案 0 :(得分:15)

这样的事情怎么样?

user_input = raw_input("Enter three numbers separated by commas: ")

input_list = user_input.split(',')
numbers = [float(x.strip()) for x in input_list]

(你可能也想要一些错误处理)

答案 1 :(得分:15)

这可能有用:

a,b=map(int,raw_input().split())

然后您可以单独使用'a'和'b'。

答案 2 :(得分:3)

或者,如果您要收集许多数字,请使用循环

num = []
for i in xrange(1, 10):
    num.append(raw_input('Enter the %s number: '))

print num

答案 3 :(得分:1)

您可以使用以下内容获取由关键字

分隔的多个输入
a,b,c=raw_input("Please enter the age of 3 people in one line using commas\n").split(',')

答案 4 :(得分:1)

List_of_input=list(map(int,input (). split ()))
print(List_of_input)

它用于Python3。

答案 5 :(得分:1)

使用单个衬垫的最佳练习方法,
语法:

list(map(inputType,input(“ Enter”)。split(“,”)))

接受多个整数输入:

   list(map(int, input('Enter: ').split(',')))

enter image description here

接受多个Float输入:

list(map(float, input('Enter: ').split(',')))

enter image description here

接受多个字符串输入:

list(map(str, input('Enter: ').split(',')))

enter image description here

答案 6 :(得分:1)

您可以使用以下代码在Python 3.x中读取多个输入,该代码将输入字符串拆分为整数并打印出值

user_input = input("Enter Numbers\n").split(',')
#strip is used to remove the white space. Not mandatory
all_numbers = [int(x.strip()) for x in user_input]
for i in all_numbers:
    print(i)

答案 7 :(得分:1)

我的第一印象是你想要一个循环命令提示符,在循环命令提示符内循环用户输入。 (嵌套的用户输入。)也许这不是你想要的,但在我意识到之前我已经写过这个答案了。所以,我会发布它,以防其他人(甚至你)发现它有用。

您只需要在每个循环级别使用带有输入语句的嵌套循环。

例如,

data=""
while 1:
    data=raw_input("Command: ")
    if data in ("test", "experiment", "try"):
        data2=""
        while data2=="":
            data2=raw_input("Which test? ")
        if data2=="chemical":
            print("You chose a chemical test.")
        else:
            print("We don't have any " + data2 + " tests.")
    elif data=="quit":
        break
    else:
        pass

答案 8 :(得分:0)

Python和所有其他imperative programming languages一个接一个地执行一个命令。因此,你可以写:

first  = raw_input('Enter 1st number: ')
second = raw_input('Enter second number: ')

然后,您可以对变量firstsecond进行操作。例如,您可以将存储在其中的字符串转换为 int egers并将它们相乘:

product = int(first) * int(second)
print('The product of the two is ' + str(product))

答案 9 :(得分:0)

  1. a,b,c = input()。split()#用于空格分隔的输入
  2. a,b,c = input()。split(“,”)#用于逗号分隔的输入

答案 10 :(得分:0)

Split函数将根据空格分割输入数据。

data = input().split()
name=data[0]
id=data[1]
marks = list(map(datatype, data[2:]))

名称将获得第一列,id将包含第二列,标记将是一个列表,其中将包含从第三列到最后一列的数据。

答案 11 :(得分:0)

你可以试试这个。

import sys

for line in sys.stdin:
    j= int(line[0])
    e= float(line[1])
    t= str(line[2])

详情请查看,

https://en.wikibooks.org/wiki/Python_Programming/Input_and_Output#Standard_File_Objects

答案 12 :(得分:0)

在Python 2中,您可以单独输入多个值逗号(如jcfollower在其解决方案中提到的)。但是如果你想明确地这样做,你可以按照以下方式进行。 我正在使用for循环从用户那里获取多个输入,并通过与','分开将它们保存在项目列表中。

items= [x for x in raw_input("Enter your numbers comma separated: ").split(',')]

print items

答案 13 :(得分:0)

# the more input you want to add variable accordingly
x,y,z=input("enter the numbers: ").split( ) 
#for printing 
print("value of x: ",x)
print("value of y: ",y)
print("value of z: ",z)

#for multiple inputs    
#using list, map
#split seperates values by ( )single space in this case

x=list(map(int,input("enter the numbers: ").split( )))

#we will get list of our desired elements 

print("print list: ",x)

希望您得到答案了:)

答案 14 :(得分:0)

一种常见的安排是一次读取一个字符串,直到用户输入一个空字符串。

strings = []
# endless loop, exit condition within
while True:
    inputstr = input('Enter another string, or nothing to quit: ')
    if inputstr:
        strings.append(inputstr)
    else:
        break

这是 Python 3 代码;对于 Python 2,您将使用 raw_input 而不是 input

另一种常见的安排是从文件中读取字符串,每行一个。这对用户来说更方便,因为他们可以返回并修复文件中的拼写错误并重新运行脚本,而对于需要交互式输入的工具则无法做到这一点(除非您花费更多时间基本上将编辑器构建到脚本!)

with open(filename) as lines:
    strings = [line.rstrip('\n') for line in lines]

答案 15 :(得分:-1)

试试这个:

print ("Enter the Five Numbers with Comma")

k=[x for x in input("Enter Number:").split(',')]

for l in k:
    print (l)

答案 16 :(得分:-1)

如何使输入成为列表。然后,您可以使用标准列表操作。

unsigned long long( int)?
(signed )?long long( int)?
unsigned long( int)?
(signed )?long( int)?