首页 > 解决方案 > 如何只在多字符串输入中添加负数?

问题描述

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

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。我怎样才能做到这一点?

标签: python

解决方案


您可以使用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))

一些文档:


推荐阅读