Python中一行中的多个变量?

2024-10-01 15:41:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想弄明白“输入表达式:”如何取3个变量:第一个int,操作的字符,第二个int。这在C++中非常简单,只有CIN和GT;& GNUM1>& GT & Gt;& NUT2。在

到目前为止,根据其他人的问题,我已经试着接受一个列表并将其分开。这是有效的,除了超过1位数的整数。我在做这样的事情:

list1=raw_input()
list1.split()
print list1
num1=list1[0]
plus=list1[1]
num2=list1[2]
print num1, plus, num2

例如,输入10+3将输出10+ 我觉得这里有个简单的解决办法,但我不知道。感谢任何帮助。在


Tags: gt列表表达式plus字符intprint位数
3条回答

我建议在这种情况下使用regex,例如:

 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,但是使用{}(不带空格)或同时处理这两种情况将更加困难。在

试试这个:

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

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

相关问题 更多 >

    热门问题