python中的错误:TypeError

时间:2014-02-04 14:41:37

标签: python

我正在编写一个函数,它将链接列表作为参数,并将节点中存在的值转换为数字Ex:1->2->0是一个链接列表,它应该返回120。 我试着用这种方式:

def list_to_number(head):
    a0 = head.value
    a1 = head.next
    a2 = a1.next
    num1 = (a0*100)
    num2 = (a1*10)
    num3 = a2
    num4 =sum(num1,num2,num3)
return num4

当我打电话时显示错误:TypeError: unsupported operand type(s) for *: 'Node' and 'int'

1 个答案:

答案 0 :(得分:2)

您无法添加Nodeint。您需要从每个节点获取一个整数值:

def list_to_number(head):
    a0 = head.value
    a1 = head.next
    a2 = a1.next
    num1 = (a0*100)
    num2 = (a1.value*10)
    num3 = a2.value
    num4 =num1 + num2 + num3
return num4

当然,这段代码可以推广到任何长度的列表。这种概括留给了读者。