python - 计算器 - 尝试从 'for' 中获取第一个数字并将其用作 INIT_VALUE

标签 python python-3.x input reduce subtraction

我试图从列表中取出第一个数字并将其用作我的初始值。当我开始做减法时,我意识到实际上并不是像加法那样从 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)

最佳答案

您可以通过访问c[0](或在我的示例中为values[0])获取输入的第一个数字,您也只需减去此索引后的值,以便您可以使用 c[1:] (或在我的示例中使用 values[1:] )

import operator
import functools

print("You chose subtraction.")
total_numbers = int(input("Enter how many numbers you want to substract."))
values = [int(input("Number: ")) for _ in range(total_numbers)]
result = functools.reduce(operator.sub, values[1:], values[0])
print("Your answer is:", result)

>> You chose subtraction.
>> Enter how many numbers you want to substract.
> 5
>> Number: 
> 10
>> Number: 
> 1
>> Number: 
> 1
>> Number: 
> 1
>> Number: 
> 1
>> Your answer is: 6

关于python - 计算器 - 尝试从 'for' 中获取第一个数字并将其用作 INIT_VALUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46325845/

相关文章:

python - 如何从 python 脚本在 azure devops 管道中生成合理的错误消息

python - 通过最小化迭代次数来改进代码

python-3.x - Opencv cuda python重新映射错误cv.cuda.remap(raw,mapx,mapy,cv.INTER_CUBIC,borderMode = cv.COLOR_RGB2GRAY)

events - Angular2 使用 onmouseup 事件会覆盖 native 行为

reactjs - 自动选择输入中的文本 - Reactjs

python - opencv inRange像素位置

python - PySpark:如何根据其他行值的值更改行+列的值

python - 在 Python 中计算另一个字符串中的字符串的更好方法

android - 无法在 Kivy 中为动画选择 id

c - 将数组的字符元素替换为用户输入输入的另一个字符