在python中压缩列表

问题描述 投票:-1回答:2

我正在用python做一个简单的计算器,我有一个问题,但首先这里是我的代码。

no1, sin , no2 = [str(no1) for no1 in input().split()]

If sin == "+" :                                                
    print(int(no1) + int(no2)

我的输出是

 5 + 2                                             
 7      

在这里你可以看到我在5、+和2之间放了一个空格,但我不想在它们之间放空格,但如果我这样做,它会显示一个错误?

python list-comprehension
2个回答
2
投票

如果你使用正则表达式与组,re.split会在输出中保留分隔符。

re.split(" *(\+) *","5+2")

['5', '+', '2']

当你开始解析多个运算符时,它会更容易使用。

re.split(" *([\+\-\*/]) *","51 + 2*38.5 - 8/2")

['51', '+', '2', '*', '38.5', '-', '8', '/', '2']

0
投票

只需要遍历输入,不要分割,它会遍历所有的字符

no1, sin, no2 = [str(no1) for no1 in input()]

-1
投票

方法 split() 默认情况下,会在空格和新行上分割你的字符串,所以

'5 + 2'.split()['5', '+', '2']

不过

'5+2'.split()['5+2']


-1
投票

你可以简单地用这个做一个计算器

print(eval(input()))

比如说

5+2 会给你 7

5-2 会给你 3

5*2 会给你 10

您可以使用表达式作为1+2+3-22*3/2

© www.soinside.com 2019 - 2024. All rights reserved.