Как запросить ввод в Python без вывода новой строки - PullRequest
0 голосов
/ 06 июня 2010

Название описывает вопрос в значительной степени.

Ответы [ 2 ]

3 голосов
/ 06 июня 2010

Функция input, которая выполняет запрос, не выводит новую строку:

>>> input('tell me: ')
tell me: what?
'what?'
>>> 

Как вы видите, приглашение выводится без новой строки, и то, что пользователь вводит после этого, появляется в той же строке, что и приглашение. Конечно, пользователь также печатает символ новой строки и (как и все остальные пользовательские символы) , что символ новой строки выводится (поэтому дальнейшие результаты приведены в следующих строках). Это твоя проблема?

Если это так, то вам нужно переключиться на подходы, специфичные для платформы, такие как curses практически на любой машине, кроме Windows, и msvcrt в Windows (или вы можете посмотреть для порта curses в Windows, но я не знаю, есть ли такой для Python 3). Эти два модуля очень разные, и вы не уточнили вашу платформу (или ваши точные потребности - мой предыдущий абзац является попыткой обоснованного предположения ;-), так что я просто подожду, пока вы скорее уточните потребности и платформы чем запускать длинные эссе, которые могут оказаться бесполезными.

1 голос
/ 06 июня 2010

Если вы используете raw_input, он не вставляет новую строку автоматически.

>>> name = raw_input ("What...is your name? ") 
What...is your name? Arthur, King of the Britons!
...