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