如何在多个字符串输入中只添加负数?

  • 本文关键字:添加 字符串 python
  • 更新时间 :
  • 英文 :


我只想在多个输入字符串中添加所有的负数,但是我不知道下一步该怎么做

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)

相关内容

  • 没有找到相关文章

最新更新