我给传递参数到函数仍然在添加链接列表时仍然给出错误代码缺少参数

里沙卜·帕塔迪亚(Rishabh Patadia)

我是编码方面的初学者,能帮我理解错误吗

我仍然给参数错误,提示需要1个位置参数

输入(l1和l2是链表)

l1=[2,4,3]
l2=[5,4,6]

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def inttolist(self, i) -> ListNode:
        while(i%10!=0):
            self = ListNode(i%10, inttolist(int(i/10)))
        return self
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        a,b,c,d=l1,l2,1,0
        while(a!=None):
            d=d+(a.val+b.val)*c
            a,b=a.next,b.next
            c=c*10
        print(d)
        self = Solution.inttolist(int(d))
        return self

错误代码

TypeError: inttolist() missing 1 required positional argument: 'i'
    self = Solution.inttolist(int(d))
Line 18 in addTwoNumbers (Solution.py)
    ret = Solution().addTwoNumbers(param_1, param_2)
Line 45 in _driver (Solution.py)
    _driver()
Line 56 in <module> (Solution.py)
百里香

问题是self变量的滥用所述self参数是一个包含实例化的变量Solution类。这有两个问题:

  1. 这意味着:Solution.inttolist(int(d)),应使用:
  • self.inttolist(int(d))
  1. 您不应该直接给该self值赋值,而是为其创建一个新变量,因此我们必须更改此值:
  • self = ListNode(i%10, inttolist(int(i/10)))

下面,我添加了一个有效的解决方案,以防您在应用以上更改后仍然遇到问题。

输入值

输入要求一个ListNode,因此我使用以下命令将输入​​列表转换为其规范:

class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

    def generate_link_list(l1: list):
        nodes = []
        for val in l1:
         

def generate_link_list(l1: list):
    nodes = []
    for val in l1:
        nodes.append(ListNode(val))

    for index, node in enumerate(nodes[:-1]):
        node.next = nodes[index + 1]
    return nodes[0]

l1 = generate_link_list(l1)
l2 = generate_link_list(l2)

通过以上更改,代码将变为:

class Solution:
    def inttolist(self, i) -> ListNode:
        ans = 0  # <--- the new variable, instead of `self`
        while (i % 10 != 0):
            ans = ListNode(i % 10, self.inttolist(int(i / 10)))
        return ans

    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        a, b, c, d = l1, l2, 1, 0
        while (a != None):
            d = d + (a.val + b.val) * c
            a, b = a.next, b.next
            c = c * 10
        print(d)
        ans = self.inttolist(int(d))
        return ans

运行:

print(Solution().addTwoNumbers(l1, l2))

987当您反转它们的值并将其连接时,将得出答案:,这是两个列表的总和。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

拟合beta分布时出错:函数mle无法估计错误代码为100的参数

传递“ IUnknown *&”作为参数时,COM对象释放函数给出错误

toString()在使用传递参数时给出错误

没有参数的Excel DNA函数仍然在Excel函数向导中显示一个参数

Chromecast尝试连接时给出错误代码7

胸腺:&#39; 在传递参数到javascript函数上添加

Huawei Account Kit指纹证书配置正确,但仍然抛出错误代码6003

我已经编写了代码,但是当我在定义和传递参数后调用average()函数时出错

当我将它作为参数传递给函数时,字典给出“类型错误:字符串索引必须是整数”

每个子列表键都是唯一的,但我仍然在控制台中收到错误消息。React.js

通过函数传递模板参数时出错

代码仍然在startActivity()之后运行

api在邮递员中使用参数传递user_id时给出错误404

Web api在将*作为输入值传递给api方法参数时给出错误

传递参数时出错

存在错误代码时输出参数与NRVO的关系

当一个或多个数字常量按位值作为参数传递时,为什么 phpinfo() 函数会给出错误的结果?

传递参数到require(在加载模块时)

没有参数调用的函数不会给出错误

Ajaxify 链接,以便它仍然在点击时访问地址但不会更改页面

给出错误,但仍然可以正常运行

声明了Python变量,但仍然给出错误

Valgrind 给出错误记忆“仍然可以访问”

Nix从函数添加可变参数到集合

整数到 C 中的参数;gdb 没有显示错误,函数没有给出输出

当我向脚本传递参数时,使用gets()会给出“无此类文件或目录”错误

来自查询的正确响应,但是我仍然收到“警告:mysqli_fetch_array()期望参数1为mysqli_result,字符串在...中给出”错误

Autodesk-designautomation:内部服务器错误(错误代码 500):WorkItem 中缺少参数

我无法更新到 Windows 10 版本 1909:错误代码 0x80073712,并且重置计算机仍然产生错误代码