我只想在多个输入字符串中添加所有的负数,但是我不知道下一步该怎么做
a,b,c,d = input().split()
a = float(a)
b = float(b)
c = float(c)
d = float(d)
lis = list(a,b,c,d)
说我想输入(-30.22,10.5,-2.2,-1.8)。我只想加上-30.22,-2.2和-1.8。我该怎么做呢?
您可以使用sum
和条件生成器表达式执行以下操作:
nums = [*map(float, input().split())]
# if you really need named variables for the first four
# a, b, c, d, *_ = nums
neg_sum = sum(n for n in nums if n < 0)
或更奇特的:
neg_sum = sum(filter(0.0.__gt__, nums))
一些文档:
sum
filter
map
这里有一个列表推导式。请考虑我们在这里假设输入中只有数字。
neg_sum = sum(float(val) for val in input().split() if float(val) < 0)