两个字符串大数相加求和 python3

f sum(a_array, b_array):
    if len(a_array) > len(b_array):
        len_0 = len(a_array) - len(b_array)
        b_array = '{}{}'.format('0' * len_0, b_array)
    elif len(a_array) < len(b_array):
        len_0 = len(b_array) - len(a_array)
        a_array = '{}{}'.format('0' * len_0, a_array)

    sum_array = [0] * len(a_array)
    
    #字符反转,从小位数相加
    a_array=list(a_array[::-1])
    b_array=list(b_array[::-1])
    print(a_array)
    print(b_array)

    for index, item in enumerate(a_array):
        sum_item = int(item) + int(b_array[index]) + sum_array[index]
        if sum_item >= 10:
            # divmod()方法采用两个参数值,并返回由它们的商和余数组成的一对数字(元组)
            plus, item = divmod(sum_item, 10)
            print(plus)
            print(item)
            sum_array[index] = item
            sum_array[index + 1] = plus
        else:
            sum_array[index] = sum_item

    print(''.join('%s' % item for item in sum_array[::-1]))


if __name__ == '__main__':
    a = '193'
    b = '12'
    sum(a, b)

你可能感兴趣的:(Python,算法,python,开发语言)