如何从用户输入的列表中减去

时间:2013-10-09 20:49:14

标签: python list user-input subtraction

我试图从用户输入的列表中减去数字。 例如,我有这个添加,它按我想要的方式工作:

print("\nAddition")
n = int(input('How many numbers are you adding?: '))
L = []
for i in range(n):
    L.append(int(input("Enter a number: ")))
    answer = sum(L)
    print(answer)

我如何为减法做同样的事情?

1 个答案:

答案 0 :(得分:1)

对于减法,你可以循环自己并减去:

result = L[0]
for num in L[1:]:
    result -= num

这假设您想要从第一个数字开始,并从第一个数字中减去所有其他数字。

你仍然可以使用sum(),但是除了第一个数字之外你必须map()为负数:

from operator import neg

result = sum(map(neg, L[1:]), L[0])

operator.neg() function否定数字,我们使用sum()的第二个参数来提供起始值。

演示:

>>> from operator import neg
>>> L = [42, 10, 3, 8]
>>> sum(map(neg, L[1:]), L[0])
21