Python 数位分离

输入一个正整数n,要求输出其位数,并分别以正序和逆序输出各位数字。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入一个整数n(int范围内)。
输出格式:
对于每组测试数据,输出n的位数,然后分别以正序和逆序输出各位数字,每两个数据之间用一个逗号“,”分隔。
输入样例:
2
12345
246
输出样例:
5,1,2,3,4,5,5,4,3,2,1
3,2,4,6,6,4,2

n = int(input())

for i in range(n):
    num = input().strip()
    length = len(num)
    res = [int(x) for x in num] + [int(x) for x in reversed(num)]
    res_str = ",".join([str(x) for x in res])
    print(f"{length},{res_str}")


n = input('输入正整数T:')
temp, result = [], []
for i in range(int(n)):
    num = int(input('输入第{}个数字'.format(i + 1)))
    count = 0
    while num > 0:
        count += 1
        temp.append(num % 10)
        num //= 10
    ans = [count]
    ans.extend(temp[::-1])
    ans.extend(temp)
    result.append(ans)
    temp.clear()
for i in result:
    print(','.join(map(lambda x: str(x), i)))

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7571075
  • 以下回答来自chatgpt:
    n = int(input())
    youlishus = input().split()  #得到各个分数(有理数字符串)
    fenzi_fenmus = [yls.split('/') for yls in youlishus]  #每个分数存储为列表元素,元素有两项:[分子, 分母]
    fenzi_fenmus = [[int(zi), int(mu)] for zi, mu in fenzi_fenmus]  #把分数的分子和分母转换为整数类型
    
    #把多个分数加起来
    #分母的公倍数(不必要是最小公倍数)
    fenmu_chengji = 1
    for zi, mu in fenzi_fenmus:
        fenmu_chengji *= mu
    #分母扩大为公倍数,分子相应地扩大
    fenzi_fenmus = [[zi * fenmu_chengji // mu, fenmu_chengji] for zi, mu in fenzi_fenmus]
    #把各个分子加起来
    fenzi_he = 0
    for zi, mu in fenzi_fenmus:
        fenzi_he += zi
    # print("%d/%d"%(fenzi_he, fenmu_chengji))
    
    if fenzi_he == 0:
        print(0)  #最终结果为0
    else:
        #求出分子fenzi_he与分母fenmu_chengji的最大公约数
        left = fenmu_chengji
        right = abs(fenzi_he)
        while left % right != 0:
            left, right = right, left % right
        gys = right
        #约分
        r_fenzi = fenzi_he // gys
        r_fenmu = fenmu_chengji // gys
        if r_fenzi >= 0:
            r_zhengshu = r_fenzi // r_fenmu
            r_fenshu = r_fenzi - r_zhengshu * r_fenmu
        else:
            #处理负数
            r_zhengshu = abs(r_fenzi) // r_fenmu
            r_fenshu = abs(r_fenzi) - r_zhengshu * r_fenmu
            r_zhengshu = -r_zhengshu
            if r_zhengshu == 0:
                r_fenshu = -r_fenshu
        if r_fenshu == 0:
            print(r_zhengshu if r_zhengshu != 0 else r_fenzi)
        elif r_zhengshu == 0:
            print("%d/%d"%(r_fenshu, r_fenmu))
        else:
            print("%d %d/%d"%(r_zhengshu, r_fenshu, r_fenmu))
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^