我在试着建立一个简单的计算器。我用和函数做了加法部分。但是,我不能用减法来达到同样的效果。我想从前面的值中减去列表中的每个值,也就是说,如果列表(用户输入)为10,5,3,我希望输出为10-5-3=2。
def calculate():
input = raw_input("input: ")
if "+" in input:
sum_val = sum(map(float, input.split('+')))
if sum_val.is_integer():
print int(sum_val)
else:
print sum_val
elif "-" in input:
print map(float, input.split('-'))
calculate()用户输入可以是10-5-3。
发布于 2016-06-02 17:33:07
l = [10,5,3]
s = reduce(lambda x, y: x - y, l)S == 2
发布于 2016-06-02 17:32:01
试试这个-
user_input = [10, 5, 3]
equation = '-'.join(map(str, user_input))
print(equation, '=', eval(equation))产出-
10-5-3 = 2发布于 2016-06-02 17:33:16
用以下代码替换行map(float, input.split('-')),
import functools
import operator
l = map(float, input.split('-'))
r = functools.reduce(operator.sub, l) # 3https://stackoverflow.com/questions/37598414
复制相似问题