Почему текстовый курсор остается на последней строке вывода, когда я ввожу некоторый ввод и нажимаю enter? — это приводит к неправильному ответу на CodeChef

python #printing

#python #печать

Вопрос:

Я решаю вопрос на CodeChef: https://www.codechef.com/SNCKQL21/problems/MAXDISTKT

Проблема на самом деле не имеет значения, проблема скорее в текстовом курсоре в моем вводе / выводе, который вызывает проблему.

Вот ввод:

 First-line will contain T, the number of test cases. Then the test cases follow.
Each test case contains two lines of input.
First-line contains a single integer N
Second-line contains N space-separated integers B1,B2,…,BN
 

Моя проблема в том, что когда я запускаю свой приведенный ниже код в своей IDE и, например, ввод

 4
4
1 2 3 4
-> 0,1,2,3
 

Курсор остается на строке вывода рядом с последними 3 !, и я считаю, что это приводит к неправильному решению.

В то время как обычно, когда я что-то ввел и нажал «ВВОД», IDE выдает вывод, и текстовый курсор автоматически перемещается на следующую строку, ожидая, когда пользователь введет следующий ввод, если есть следующий ввод, в противном случае он завершается.

 T = int(input())
for _ in range(T):
    N = int(input())
    array = list(map(int, input().split()))
    my_dict = dict()
    output = []

    for i in range(len(array)):
        if array[i] not in my_dict:
            if array[i]-1<=0:
                my_dict[array[i]] = 0
                output.append(0)
            else:
                my_dict[array[i]] = array[i]-1
                output.append(my_dict[array[i]])
                my_dict[array[i]] -= 1

        else:
            if my_dict[array[i]] <= 0:
                output.append(0)
            else:
                output.append(my_dict[array[i]])
                my_dict[array[i]] -= 1


    for i in range(len(output)):
        print(output[i],end= " ")
 

Что-то, что я понял:

  • если я заменю final for-loop на just print(output) , то IDE сделает то, что требуется, как я описал выше, и текстовый курсор переместится на следующую строку в ожидании следующего ввода.
  • но я уже пробовал выводить массив в качестве окончательного ответа на CodeChef раньше, и он ЕГО НЕ принимает, он ожидает, что вывод будет представлять собой одну строку с целыми числами в соответствии с моим кодом выше.