如何修复VS Code运行Python代码时报invalid literal for int() with base 10错误
错误原因
invalid literal for int() with base 10报错的核心逻辑是:你代码里的int(input())执行时,input()获取到的内容不是合法的十进制整数字符串,无法完成类型转换。
该问题仅在VS Code中出现,大概率是运行配置问题:如果使用Code Runner插件运行代码,默认配置下代码会在只读的输出面板执行,无法接收用户输入,input()会直接拿到空字符串,触发转换错误。其他支持交互输入的编译器可以正常接收你输入的数字,所以不会报错。
修复步骤
- 调整VS Code运行配置,确保代码在可交互终端执行:
- 若使用Code Runner插件:打开VS Code设置,搜索
code-runner.runInTerminal,勾选该配置项,后续运行代码会自动调用内置终端,支持用户输入。 - 若使用Python官方扩展运行:直接点击右上角「在终端中运行Python文件」按钮,默认就会在可交互终端执行代码。
- 若使用Code Runner插件:打开VS Code设置,搜索
- (可选)添加输入合法性校验,避免输入非数字内容时崩溃,优化后的代码如下:
var1 = 6 while True: input_str = input("请输入整数:") try: var2 = int(input_str) break except ValueError: print("输入不合法,请输入有效的十进制整数") if var2 > var1: print("Greater") else: print("Smaller")
调整配置后运行代码,终端会等待你输入内容,只要输入不带字母、特殊符号、空格的合法整数,代码就可以正常运行,和其他编译器表现一致。
内容的提问来源于stack exchange,提问作者Saurabh
相关产品推荐
相关产品推荐

