Python 找到数字根?下面的问题对吗?我认为它在样本输出中有一些错误

Python 找到数字根?下面的问题对吗?我认为它在样本输出中有一些错误,python,python-3.x,Python,Python 3.x,给定base26中的非负整数,打印其数字根。 数字根是通过迭代过程获得的一位数 寻找数字和的方法。在下一次迭代中,数字之和 在上一次迭代中计算,并重复该过程,直到 获得一个单位数的值 以0开头的每个字母的数字表 输入格式 输入的第一行由表示测试用例数量的十进制整数t组成。然后,t测试用例随之出现。每个测试用例的第一行由一个十进制整数l组成,表示base26整数中的位数。每个测试用例的第二行由一个base26整数n组成 输出格式 对于每个测试用例,输出数字根 约束 1以下代码以任何字符串作为输入

给定base26中的非负整数,打印其数字根。 数字根是通过迭代过程获得的一位数 寻找数字和的方法。在下一次迭代中,数字之和 在上一次迭代中计算,并重复该过程,直到 获得一个单位数的值

以0开头的每个字母的数字表

输入格式

输入的第一行由表示测试用例数量的十进制整数t组成。然后,t测试用例随之出现。每个测试用例的第一行由一个十进制整数l组成,表示base26整数中的位数。每个测试用例的第二行由一个base26整数n组成

输出格式 对于每个测试用例,输出数字根

约束
1以下代码以任何字符串作为输入,并给出与问题要求相同的最终答案。 一定要竖起大拇指;)


下面的代码接受任何字符串作为输入,并给出与问题要求相同的最终答案。 一定要竖起大拇指;)


给定的整数为base26,可转换为常规的base10(十进制),如下所示:

死亡=>base26 步骤:


按照上述步骤进行操作,直到达到数字根,在本例中为“b”。

给定的整数为base26,可转换为常规的base10(十进制),如下所示:

死亡=>base26 步骤:


按照上述步骤操作,直到到达数字根,在本例中为“b”。

51在该系统中为bz。我可以知道如何操作吗?base26就是这样工作的。不是5=f和1=b加在一起,而是楼层(51/26)=1=b和51%26=25=z。51是那个系统中的bz。我可以知道怎么做吗?base26就是这样工作的。不是5=f和1=b加在一起,而是地板(51/26)=1=b和51%26=25=z。
t = int(input())
for i in range(t):
    l = int(input())
    n = input()
    testlist = []
    alpha = 'a'
    for i in range(0,26):
        testlist.append(alpha)
        alpha = chr(ord(alpha)+1)
    #print(testlist)
    r = n
    while l>1:
        count = 0
        for i in r:
            count = count + testlist.index(i)
        r = ''
        for i in str(count):
            i = int(i)
            r = r+testlist[i]
        l = len(r)
    
    print(r)
    ALPHABET = 'abcdefghijklmnopqrstuvwxyz'
    N = len(ALPHABET)
    ALPHABET_INDEX = {d: i for i, d in enumerate(ALPHABET, 1)}

    def int_to_column_id(num):
        if num == 0:
            return ""
        else:
            q, r = divmod(num, N)
            return int_to_column_id(q) + ALPHABET[r]

    def column_id_to_int(string):
        result = 0
        for char in string.lower():
                result = result * N + ALPHABET_INDEX[char]
        return result - 1

    string = str(input())
    n = sum([ column_id_to_int(item) for item in string ])
    if string == 'a':
        print('a')
    else:
        while n>25:
            string = str(int_to_column_id(n))
            n = sum([ column_id_to_int(item) for item in string ])
        print(int_to_column_id(n))
    d  e  a  t   h  s
sum(3  4  1  19  7  18)  => 51 

Convert (51)base10  => (?)base26   
    recursively divide the number with 26 and represent them back to base26
    - 51%26 = (1,25)    
    - 1%26 = (0,1) 

    1 = b
    25 = z
    
    Answer = 'bz'