Я прошел через предложенные подобные вопросы, однако, похоже, зашел в тупик; скорее всего, потому что, возможно, я не объясняю адекватно свою проблему. Я пытаюсь взять какой-нибудь STDIN, к которому у меня есть доступ, который выглядит так:
0
80
90 29
20
У меня проблемы с тем, чтобы взять целые числа после первой строки и сохранить их все в стандартном Python массив.
[80, 90, 29, 20]
Самым первым вводом в первой строке всегда будет какое-то целое число 0 или 1, представляющее отключение / включение некоторой «особой функции», затем вводятся любые другие целые числа, которые должны быть сохранены в стандартный массив. Как видите, у некоторых целых чисел есть строки, а у других строк может быть несколько целых чисел (пустые строки следует полностью игнорировать). Я пытался решить эту проблему с помощью sys.stdin, так как я знаю, что после удаления объектов он уже вносит свой вклад в объекты списка, но без особой пользы. Пока что мой код выглядит следующим образом:
parse = True
arry = []
print('Special Feature? (Give 0 to disable feature.)')
feature = input()
print('Please give the input data:')
while parse:
line = sys.stdin.readline().rstrip('\n')
if line == 'quit':
parse = False
else:
arry.append(line)
print('INPUT DATA:', arry)
«Выход» - это моя попытка зайти в черный ход, который я могу печатать вручную, так как я также не знаю, как проверить EOF. Я знаю, что это очень скромно (почти ничего), но что я эффективно произвожу sh для вывода, так это:
Special Feature? (Give 0 to disable feature.)
> 0
Please give the input data:
> 80 90 29 20
INPUT DATA: [80, 90, 29, 20]
Строки, отмеченные знаком «>», не печатаются Я просто демонстрирую, как концептуально предполагается, что ввод будет прочитан. Конечно, любая помощь приветствуется, я с нетерпением жду ваших мыслей!