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

使用列表推导式计算奇数平方时遇ValueError问题求助

问题分析与解决方案

错误原因

你遇到的ValueError是因为输入多个数字时,原代码直接把带空格的整段字符串传给int()转换,比如输入"1 3 5",int("1 3 5")无法识别包含空格的字符串为有效整数,所以触发报错。

修正后的代码

# 将输入字符串分割为单个数字字符串,再转成整数列表
ka = [int(num) for num in input("g: ").split()]
# 用列表推导式筛选奇数并计算平方
xo = [v * v for v in ka if v % 2 != 0]
print(xo)

关键细节说明

  • input("g: ").split():自动按空格分割输入的字符串,比如输入"2 4 5 7"会得到["2","4","5","7"]
  • 第一个列表推导式把每个分割后的字符串转成整数,得到纯整数列表
  • 第二个列表推导式里无需重复用int()转换,因为v已经是整数类型,v*v本身就是整数,直接用v%2 !=0判断奇数即可

测试示例

输入:1 2 3 4 5
输出:[1, 9, 25]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:55:29