0
import sys
for i in sys.stdin:
 print(i)

Объясните работу stdin! Насколько я понял stdin-пустой, пока пользователь не введет данные. Программа должна завершится а меня просят ввести данные. Почему?

задан 15 февр. 2024 в 16:20
4
  • Потому что она ждёт когда пользователь введёт данные Commented 15 февр. 2024 в 16:32
  • @andreymal т.е тут просят ввести данные и сразу же добавляет в stdin? Commented 15 февр. 2024 в 16:37
  • @сергейпушкаев print выводит в stdout. Чтобы завершилась нужно зевершить цикл for. Например добавив break после print(i) Commented 15 февр. 2024 в 17:27
  • Как я понял, мы рассматриваем вариант ввода с клавиатуры. Stdin не закрыт, поэтому программа ожидает ввода и будет продолжать обрабатывать входящие данные, пока не будет считан EOF (end of file), который означает, что ввод завершён. (Ctrl + D в Unix и Ctrl + Z в Windows, насчёт Винды не уверен, только что загуглил). Commented 15 февр. 2024 в 19:12

0

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

Ваш ответ

Черновик сохранён
Черновик удалён

Зарегистрируйтесь или войдите

Регистрация через Google
Регистрация через почту

Отправить без регистрации

Необходима, но никому не показывается

Отправить без регистрации

Необходима, но никому не показывается

Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.

Начните задавать вопросы и получать на них ответы

Найдите ответ на свой вопрос, задав его.

Задать вопрос

Изучите связанные вопросы

Посмотрите похожие вопросы с этими метками.