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

Python输入列表函数结果异常求助:输入5和2为何得到[5.0,5.0,2.0,12.0]

问题原因分析

你的代码逻辑错误在于每次输入一个数字后就立刻将当前列表的总和追加到列表中,而非等所有数字输入完成后再统一计算总和。

具体执行流程拆解:

  • 第一次输入5:
    1. 将5.0添加到my_list,此时列表为[5.0]
    2. 计算当前列表的总和5.0并追加,列表变为[5.0, 5.0]
  • 第二次输入2:
    1. 将2.0添加到my_list,此时列表为[5.0, 5.0, 2.0]
    2. 计算当前列表的总和5.0+5.0+2.0=12.0并追加,列表最终变成[5.0,5.0,2.0,12.0]
修正后的代码
def input_list():
    my_list = []
    while True:
        num = input('')
        if num == '':
             break
        my_list.append(float(num))
    # 所有数字输入完成后,再计算总和并追加
    my_list.append(sum(my_list))
    return my_list

测试输入5和2后,会得到预期的[5.0, 2.0, 7.0]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:48:08