我试着从列表中取第一个数字作为初始值。当我开始做减法的时候,我意识到你实际上并不像做加法那样从0开始,而是从写在“for”中的第一个数字开始。
例如,当你加0+4+5,那么4+5实际上是同一件事;当减去时,做0-4-5和4-5是不同的。我只是从Python和编程开始,所以我想知道这是否可能。你知道吗
我的代码:
print ("You chose subtraction.")
b = int(input("Enter how many numbers you want to substract."))
c = [int (input( "Number: ")) for _ in range (b)]
result = functools.reduce(operator.sub, c, INIT_VALUE)
print("Your answer is:", result)
有几种方法可以做到这一点:
您可以分别获得第一个号码:
或者,可以使用索引:
或者,如果您想使用循环而不是reduce:
您可以通过访问
c[0]
(在我的示例中是values[0]
)来获取输入的第一个数字,您也只需要减去这个索引之后的值,就可以使用c[1:]
(在我的示例中是values[1:]
)您可以执行
reduce(sub, lst[1:], lst[0])
,但也可以完全跳过inifializer如果你不提供,第一个值将被接受
https://docs.python.org/3/library/functools.html#functools.reduce
相关问题 更多 >
编程相关推荐