Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python单行多用户输入_Python - Fatal编程技术网

python单行多用户输入

python单行多用户输入,python,Python,我必须读取一些用户输入参数。现在,我可以对一行中的每一行执行此操作,例如参数1=原始输入(“参数1:”) 参数2=原始输入(“参数2:”) 为了更好的测试目的,在一行中进行测试更为实际。例如:输入(参数)可以是:1都是0.5 2 0.8 那么,有没有可能从这行中生成6个参数(一些是int,一些是string,一些是float) B.t.w.我正在使用python 2.7 谢谢你的帮助 您可以执行以下操作: separator = ' ' parameters = raw_input("param

我必须读取一些用户输入参数。现在,我可以对一行中的每一行执行此操作,例如参数1=原始输入(“参数1:”) 参数2=原始输入(“参数2:”)

为了更好的测试目的,在一行中进行测试更为实际。例如:输入(参数)可以是:1都是0.5 2 0.8

那么,有没有可能从这行中生成6个参数(一些是int,一些是string,一些是float)

B.t.w.我正在使用python 2.7

谢谢你的帮助

您可以执行以下操作:

separator = ' '
parameters = raw_input("parameters:").split(separator)
参数
将包含用户给定的参数列表


separator
是您想要使用的分隔符(示例中是空格,但可以是任何字符串)

在这种情况下使用regex

import re

re_exp = re.compile(r'\s*(\d+)\s*([^\d\s])+\s*(\d+)')
expr = raw_input()
match = re_exp.match(expr)
if match:
    num1, oper, num2 = match.groups()
    print num1, oper, num2
它在一行中接受3个输入(INT、OPERATION、INT)。并为您打印(int,operation,int) 围绕它工作,满足你的需要

怠速输出:

4+4(三个输入)

4+4(打印它们)


只需按空格分割内容:

data = [int(i) for i in raw_input().split()] # cast to integers
或者,您也可以使用Python re:

data = [int(i) for i in re.findall(r'\d+', raw_input())]

如果问题出现在Python3中,下面是解决方案。不能说它是否能在Python 2中工作

我们要做的是把输入列成一个列表,并在空格上拆分。那么我们所要做的就是使用列表

l=input().split(' ')
如果使用分隔符代替空格,我们将执行以下操作,依此类推:

l=input().split(',')

链接问题的可能重复显示了如何在空白处拆分一行。这是否足以解决您的问题,或者您是否需要帮助将输入转换为整数和浮点?如果是这样的话,如果任何数字都被简单地转换成浮点数,那还可以吗?如果不是,程序应该如何决定将哪个解析为整数,哪个解析为浮点?如果用户输入不匹配该怎么办?正如你所看到的,我们需要更多的信息来获得一个有意义的、非平凡的答案……谢谢,非常有用。注释:要使用参数(可能是打印),可以使用[]。例如,打印参数[1]