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

LeetCode提交5行代码却提示29、39行报错问题咨询

问题现象
  • 首次使用LeetCode平台作答《两整数相加》题目时,自行编写的代码仅5行,编译器却提示第29行、39行存在错误。
  • 尝试刷新页面、关闭标签页重新进入等操作均无法解决问题。
  • 个人编写的代码内容如下:
num1 = 12
num2 = 5
sum = num1 + num2

print(sum)
报错信息

平台返回的报错内容如下:

NameError: global name 'Solution' is not defined
    ret = Solution().sum(param_1, param_2)
Line 29 in _driver (Solution.py)
    _driver()
Line 39 in <module> (Solution.py)
问题原因

报错提示的29行、39行不属于你编写的代码,是LeetCode平台后台内置的判题驱动脚本的行号,和你自己写了几行代码没有关系。
LeetCode的判题逻辑不是直接运行用户提交的独立脚本,它有固定的调用规则:判题程序会先查找你代码里定义的Solution类,实例化之后调用这个类下和题目匹配的解题方法,传入测试用例后拿到返回值做结果校验。你提交的代码完全没有按照平台要求定义Solution类和对应解题方法,后台找不到对应的类定义,自然会抛出这个名称错误。

解决方法
  • 不要删除LeetCode代码编辑器初始化自带的默认代码框架,这个框架是平台提前写好的、符合自身调用规则的结构,你只需要在框架预留的位置补全解题逻辑即可,不需要自己给参数赋测试值,也不需要写print输出结果,平台会自动传入测试用例、读取返回值做校验。
  • 针对这道两整数相加的题目,符合平台规范的代码结构如下:
class Solution:
    def sum(self, num1: int, num2: int) -> int:
        return num1 + num2
  • 几个硬性要求不要搞错:必须保留Solution类定义,类下的方法名要和题目要求一致,计算结果通过return返回给判题程序即可,不需要额外写多余的脚本逻辑。

内容的提问来源于stack exchange,提问作者big-mac-overflow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:39:43