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
на justprint(output)
, то IDE сделает то, что требуется, как я описал выше, и текстовый курсор переместится на следующую строку в ожидании следующего ввода. - но я уже пробовал выводить массив в качестве окончательного ответа на CodeChef раньше, и он ЕГО НЕ принимает, он ожидает, что вывод будет представлять собой одну строку с целыми числами в соответствии с моим кодом выше.