Можно ли продолжить чтение ввода на sys.stdin
? Я пытаюсь непрерывно выполнять функцию на основе ввода. (Моя функция печатает только sys.stdout
и sys.stderr
и ничего не возвращает.) Мой код:
def prime(number):
number = abs(int(number))
for i in range(3, number):
if number % i == 0:
print("Not Prime!", file = sys.stderr, flush = True)
sys.exit(0)
print("Prime!", file = sys.stdout, flush = True)
for i in sys.stdin:
prime(i)
Вот результат:
>>> for i in sys.stdin:
prime(i)
43 # Input
Prime! # In sys.stdout and it continues reading from sys.stdin
55 # Input
Not Prime! # In sys.stderr and stops.
>>>
Я протестировал его и определил, что он продолжает чтение, когда вывод моей функции находится на sys.stdout
, и останавливается при выводе на sys.stderr
.
43
и55
? - person BorrajaX   schedule 10.03.2015stderr
иstdout
для получения цветов. И код, который я использую для ввода данных в свою функцию, именно так выглядит в вопросе. Я внесу изменения в код моей функции. - person Zizouz212   schedule 10.03.2015