我正在尝试从用户输入的列表中减去数字。例如,我有这个要添加的东西,它按照我想要的方式工作:
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)
我该如何做同样的减法?
我正在尝试从用户输入的列表中减去数字。例如,我有这个要添加的东西,它按照我想要的方式工作:
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)
我该如何做同样的减法?
对于减法,您可以自己循环并减去:
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()
函数否定数字,我们使用第二个参数sum()
来提供一个起始值。
演示:
>>> from operator import neg
>>> L = [42, 10, 3, 8]
>>> sum(map(neg, L[1:]), L[0])
21