我试图从用户输入的列表中减去数字。 例如,我有这个添加,它按我想要的方式工作:
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)
我如何为减法做同样的事情?
答案 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