Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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中单行中的多个变量? 我想弄明白“输入表达式:”在3个变量中的第一个int,这个字符的操作,第二个int。这非常简单,在C++中只有CIN > NUM1>操作> NUM2。_Python_Input - Fatal编程技术网

Python中单行中的多个变量? 我想弄明白“输入表达式:”在3个变量中的第一个int,这个字符的操作,第二个int。这非常简单,在C++中只有CIN > NUM1>操作> NUM2。

Python中单行中的多个变量? 我想弄明白“输入表达式:”在3个变量中的第一个int,这个字符的操作,第二个int。这非常简单,在C++中只有CIN > NUM1>操作> NUM2。,python,input,Python,Input,到目前为止,根据其他人的问题,我已经试着把一个列表放进去并拆分。这是有效的,除了大于1位的整数。我在做这样的事情: list1=raw_input() list1.split() print list1 num1=list1[0] plus=list1[1] num2=list1[2] print num1, plus, num2 例如,输入10+3将输出10+ 我觉得这里有个简单的解决办法,但我不知道。非常感谢您的帮助。字符串是不可变的,因此您需要在某处捕获list1.split()的结果。

到目前为止,根据其他人的问题,我已经试着把一个列表放进去并拆分。这是有效的,除了大于1位的整数。我在做这样的事情:

list1=raw_input()
list1.split()
print list1
num1=list1[0]
plus=list1[1]
num2=list1[2]
print num1, plus, num2
例如,输入10+3将输出10+
我觉得这里有个简单的解决办法,但我不知道。非常感谢您的帮助。

字符串是不可变的,因此您需要在某处捕获
list1.split()的结果。但这对你没有帮助,因为那不能满足你的需要。使用解析器,可能使用。

尝试以下方法:

list1 = raw_input()
for x in list1.split():
    print x,

我建议在这种情况下使用正则表达式,例如:

 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

使用
split
,您可以解析
10+1
,但使用
10+1
(没有空格)或处理这两种情况将更加困难。

@IgnacioVazquez Abrams在那里修复了它。
索引器
不见了,但这仍然不能满足询问者的要求。是的,我刚刚意识到这一点。谢谢这只是为了我(程序),所以我不需要处理空间不足的问题。嘿,欢迎来到so。如果你能解释你的代码并举例说明为什么op“应该这样写”,那就太好了。
#You should write like this
list1 = raw_input()
a=list1.split()
num1=a[0]
plus=a[1]
num2=a[2]
print num1, plus, num2