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

Python将字符串列表转整数时报ValueError错误如何解决

报错根因

你触发ValueError的核心原因是输入分隔符和代码分割逻辑不匹配:

  • 你输入的身高是用逗号分隔的格式:5,6,73
  • 但代码中默认的split()是按空格分割字符串,导致整个输入被当成了单个字符串'5,6,73',无法直接转换为浮点型。

此外原代码后续计算总身高、统计人数的循环逻辑也存在错误,修复第一个报错后仍会触发新的异常,需要同步调整。

修复步骤

  • 第一步:调整字符串分割逻辑,把split()改为按逗号分割的split(','),如果希望兼容空格分隔的输入,也可以修改输入提示明确告知用户用空格分隔数值。
  • 第二步:修正总和、人数的计算逻辑,删除原逻辑错误的循环,改用正确的累加方式统计总身高,直接取列表长度得到学生人数。

修复后完整代码

# 按逗号分割输入的身高字符串,也可根据输入习惯替换为split()适配空格分隔
student_heights = input("Input a list of student heights (comma separated): ").split(',')

# 直接批量转换为整型,不需要先转float再转int
student_heights = list(map(int, student_heights))

total_height = 0
student_count = len(student_heights)
for height in student_heights:
    total_height += height

avg_height = total_height / student_count
print(f"平均身高为:{avg_height}")

效果验证

输入5,6,73后运行输出:

Input a list of student heights (comma separated): 5,6,73
平均身高为:28.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:15:04