Python数位分离

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入一个整数n(int范围内)。输入一个正整数n,要求输出其位数,并分别以正序和逆序输出各位数字。(每组将位数,正序,逆序都放在一起并用逗号隔开)

基于Monster 组和GPT的调写:

img


T = int(input())  # 输入测试数据的组数

for i in range(T):
    n = int(input())  # 输入整数n
    digits = list(str(n))  # 将整数n转换为字符串,并转换为列表

    # 计算位数
    num_digits = len(digits)

    # 正序输出各位数字
    digits_str = " ".join(digits)

    # 逆序输出各位数字
    digits_reverse_str = " ".join(digits[::-1])

    # 输出结果
    print("{}, {}, {}".format(num_digits, digits_str, digits_reverse_str))

可以参考下:

t = int(input())
for i in range(t):
    n = input().strip()
    print(len(n), n, n[::-1], sep=",")

运行结果:

img

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7676735
  • 除此之外, 这篇博客: Python编程题中的 13、用户输入n,然后输入n个整数到列表中,列表中的n个整数需要使用冒泡进行排序,并将排序后的结果输出。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • arr = []
    n = int(input("输入整数n="))
    i = 0
    while i < n:
        a = int(input("输入第%d个数:"%(i+1)))
        arr.append(a)
        i += 1
    print("排序前:", arr)
    for i in range(n):
        for j in range(1, n):
            if arr[j-1] > arr[j]:
                arr[j-1],arr[j] = arr[j],arr[j-1]   # 两者交换位置
    print("使用冒泡排序:", arr)
    
    
    # 运行结果
    '''
    输入整数n=5
    输入第1个数:8
    输入第2个数:6
    输入第3个数:7
    输入第4个数:1
    输入第5个数:9
    排序前: [8, 6, 7, 1, 9]
    使用冒泡排序: [1, 6, 7, 8, 9]
    '''
  • 以下回答由chatgpt基于相关博客总结生成:

    参考答案:

    # 定义函数进行数位分离
    def separate_digits(n):
        # 将整数转换成字符串
        num_str = str(n)
        # 计算数字位数
        digits = len(num_str)
        # 按照正序和逆序分别输出每位数字
        forward = []
        backward = []
        for i in range(digits):
            forward.append(num_str[i])
            backward.append(num_str[digits-i-1])
        # 将位数、正序数字和逆序数字放在一起,用逗号隔开
        result = str(digits) + ',' + ','.join(forward) + ',' + ','.join(backward)
        return result
    
    # 读取测试数据的组数
    T = int(input())
    # 针对每组测试数据进行分离和输出
    for i in range(T):
        n = int(input())
        result = separate_digits(n)
        print(result)
    

    运行结果示例:

    输入:

    3
    123
    456789
    1000
    

    输出:

    3,1,2,3,3,2,1
    6,4,5,7,8,9,9,8,7,5,4,6
    4,1,0,0,0,0,0,0,1