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

Python中如何读取多行数字输入并将其存入列表求和?

处理一行/多行数字输入并求和的Python方法

嘿,作为Python初学者碰到这种需求完全不用慌,我来一步步给你拆解怎么实现,保证易懂好用~

先处理你示例里的单行多数字情况

比如输入是2 3 1 4这种一行用空格分隔的数字,步骤很简单:

  1. 读取整行输入:用input()函数获取用户输入的整行内容,它会把输入的所有内容(包括空格)当成一个字符串返回。
  2. 分割字符串成单个数字的字符串列表:用字符串的split()方法,默认会按任意空白字符(空格、制表符都行)分割字符串,把每个数字拆成单独的字符串元素。
  3. 转换为整数列表:因为split()得到的是字符串类型的数字,我们需要把它们转成整数才能计算,这里用列表推导式或者map()函数都可以,新手用列表推导式可能更容易理解。
  4. 求和:直接用Python内置的sum()函数对整数列表求和就行。

完整代码示例:

# 获取输入行(可以加提示语让用户更清楚)
input_content = input("请输入多个数字,用空格分隔:")
# 分割成字符串列表
num_strs = input_content.split()
# 转成整数列表
num_list = [int(num) for num in num_strs]
# 计算总和
total_sum = sum(num_list)
print(f"这些数字的总和是:{total_sum}")

如果需要处理多行输入的情况

比如用户可能分多行输入数字,比如:

1 5
3 2
4

这种情况下,我们可以一次性读取所有输入内容,再统一处理:

import sys

# 读取所有输入(直到用户按下结束键,Windows是Ctrl+Z,Linux/macOS是Ctrl+D)
all_input = sys.stdin.read()
# 分割所有数字字符串(不管是空格还是换行都会被当成分隔符)
num_strs = all_input.split()
# 转整数列表并求和
num_list = list(map(int, num_strs))
total_sum = sum(num_list)
print(f"所有数字的总和是:{total_sum}")

小提示

  • 如果输入里混了非数字的内容,代码会报错,作为初学者可以先假设输入都是合法的数字,等以后熟悉了Python的异常处理,再用try-except来处理这种情况哦~
  • split()方法如果不传参数,会自动忽略多个连续的空格,所以哪怕用户输入了多个空格分隔数字也没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:01:50