You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对字符串输入拆分得到的所有数值中的负数单独求和

Python 输入数值负数求和实现方案

原有代码问题修正

你现有代码中存在语法错误:list(a,b,c,d) 写法不符合Python规范,list() 构造函数仅接收1个可迭代参数,要存储四个转换后的数值,直接用列表字面量创建即可:lis = [a, b, c, d]。

基础实现(输入为空格分隔纯数值)

如果你的输入是空格分隔的4个纯数值(例如输入内容为 -30.22 10.5 -2.2 -1.8),可直接用以下代码完成负数求和:

# 读取输入并批量转换为浮点数
a,b,c,d = map(float, input().split())
lis = [a, b, c, d]
# 筛选负数求和
negative_sum = sum(num for num in lis if num < 0)
print(negative_sum)

代入你给出的测试数值,运行后输出结果为 -34.22,与预期计算结果一致。

适配带特殊符号的输入格式

如果你输入的内容是类似 (-30.22, 10.5, -2.2, -1.8) 带括号、逗号的格式,需要先清洗输入内容再处理:

# 先去掉输入首尾的括号,替换掉所有逗号
input_content = input().strip('()').replace(',', '')
# 拆分转换为浮点数列表,不限制数值个数
num_list = list(map(float, input_content.split()))
# 负数求和
negative_sum = sum(num for num in num_list if num < 0)
print(negative_sum)

内容的提问来源于stack exchange,提问作者user91919

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:06:03