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

Python使用int()转换输入变量时提示invalid literal值错误如何解决

报错根因

int()仅能转换内容为合法整数的字符串(支持自动忽略字符串首尾的空格、换行符),当传入内容包含非整数字符(字母、特殊符号、小数点、全角数字)、为空字符串时,就会抛出ValueError: invalid literal for int() with base 10错误。
原代码中两处int(input())调用均未做异常处理,任意一次输入不符合整数格式要求时,程序会直接终止,无法完成后续的循环读入、列表追加逻辑。

修复实现

封装通用的整数读取方法,遇到非法输入时提示重试,避免程序直接崩溃:

def read_int():
    while True:
        content = input().strip()
        try:
            return int(content)
        except ValueError:
            print("输入不合法,请输入正确的整数")

val = read_int()
nums = []
for i in range(val):
    nums.append(read_int())
常见触发场景排查
  • 手动输入时误输入字母、符号、小数,或者输入了全角格式的数字
  • 批量粘贴输入时格式错位,出现空行、多内容粘连的情况
  • 用文件做输入重定向时,文件内存在空行、表头注释、非数字的冗余内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:24:15