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

Python新手求助:逗号分隔整数转列表并循环求和遇值错误

问题原因&解决办法

你出错的核心问题是split()方法没指定分隔符:

  • 默认的split()会按空格(包括空格、换行等)分割字符串,但你需要的是按逗号分割,所以得用split(',')。
  • 另外用户输入时可能会在逗号后加空格(比如1, 2, 3),分割后的每个元素会带空格,直接转int也会报错,所以转整数前要先去掉前后空白。

修正后的完整代码

# 获取用户输入,按逗号分割字符串
input_string = input('Enter elements of a list separated by commas: ')
# 分割后去掉每个元素的空白,再转成整数列表
user_list = [int(item.strip()) for item in input_string.split(',')]

# 用for循环计算总和
for_sum = 0
for num in user_list:
    for_sum += num

# 用while循环计算总和
while_sum = 0
index = 0
while index < len(user_list):
    while_sum += user_list[index]
    index += 1

# 输出结果
print(f"For循环计算的总和: {for_sum}")
print(f"While循环计算的总和: {while_sum}")

代码说明

  • input_string.split(','):把输入的字符串按逗号拆分成字符串列表,比如输入1,2,3会得到['1','2','3'],输入1, 2, 3会得到['1',' 2',' 3']。
  • int(item.strip()):strip()去掉每个元素前后的空白字符,再转成整数,这样不管用户有没有加空格都能处理。
  • for循环直接遍历列表元素累加,逻辑简单;while循环通过索引遍历,需要维护索引变量直到遍历完整个列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:39:55