我正在用python做一个简单的计算器,我有一个问题,但首先这里是我的代码。
no1, sin , no2 = [str(no1) for no1 in input().split()]
If sin == "+" :
print(int(no1) + int(no2)
我的输出是
5 + 2
7
在这里你可以看到我在5、+和2之间放了一个空格,但我不想在它们之间放空格,但如果我这样做,它会显示一个错误?
如果你使用正则表达式与组,re.split会在输出中保留分隔符。
re.split(" *(\+) *","5+2")
['5', '+', '2']
当你开始解析多个运算符时,它会更容易使用。
re.split(" *([\+\-\*/]) *","51 + 2*38.5 - 8/2")
['51', '+', '2', '*', '38.5', '-', '8', '/', '2']
只需要遍历输入,不要分割,它会遍历所有的字符
no1, sin, no2 = [str(no1) for no1 in input()]
方法 split()
默认情况下,会在空格和新行上分割你的字符串,所以
'5 + 2'.split()
是 ['5', '+', '2']
不过
'5+2'.split()
是 ['5+2']
你可以简单地用这个做一个计算器
print(eval(input()))
比如说
5+2
会给你 7
5-2
会给你 3
5*2
会给你 10
您可以使用表达式作为1+2+3-2
和 2*3/2