python中提示TypeError: can only concatenate tuple (not "int") to tuple

学习CS61A递归中,银行卡校验位luhn算法中出错

问题相关代码,请勿粘贴截图

def split(n):
    return n//10,n%10

def digits(n):
    if n<10:
        return n
    else:
        remain,last=split(n)
        return split(remain)+last

def sum_luhn_single(n):
    if n<10:
        return n
    else:
        remain,last=split(n)
        return sum_luhn_double(remain)+last

def sum_luhn_double(n):
    if n<10:
        return digits(2*n)
    else:
        remain,last=split(n)
        sum_last_double=digits(2*last)
        return sum_luhn_single(remain)+sum_last_double


print(sum_luhn_single(1234))

运行结果及报错内容

TypeError: can only concatenate tuple (not "int") to tuple

我的解答思路和尝试过的方法

print(sum_luhn_single(1234))

14
数字位数较小有时可以,但是真正银行卡位数就报错,想问问是不是


def split(n):
    return n//10,n%10

中return出现错误

这个代码没有问题,是正常输出的!
可能是版本的问题,你尝试return (n//10,n%10)

解决问题

10行中返回函数错误,应该为本身!