Как пользователь может общаться с моим скриптом Python, используя оболочку? - PullRequest
3 голосов
/ 08 января 2009

Как я могу реализовать следующее в Python?

#include <iostream>

int main() {
   std::string a; 
   std::cout <<  "What is your name? ";
   std::cin >> a; 
   std::cout << std::endl << "You said: " << a << std::endl;
}

Выход:

Как тебя зовут? Ник

Вы сказали: Ник

Ответы [ 4 ]

7 голосов
/ 08 января 2009

Звоните

name = raw_input('What is your name?')

и

print 'You said', name
3 голосов
/ 08 января 2009
print "You said:", raw_input("What is your name? ")

РЕДАКТИРОВАТЬ: как упомянул Swaroop, это не работает (я предполагаю raw_input сбрасывает стандартный вывод)

3 голосов
/ 08 января 2009

Посмотрите на оператор print и функцию raw_input().

Или посмотрите на sys.stdin.read() и sys.stdout.write().

При использовании sys.stdout не забудьте промыть.

1 голос
/ 08 января 2009

Самый простой способ для Python 2.x - это

var = raw_input()
print var

Другой способ - использовать функцию input (); нотабене input (), в отличие от raw_input (), ожидает, что ввод является допустимым выражением python. В большинстве случаев вам следует использовать raw_input () и сначала проверить его. Вы также можете использовать

import sys
var = sys.stdin.read()
lines = sys.stdin.readlines()
more_lines = [line.strip() for line sys.stdin]

sys.stdout.write(var)
sys.stdout.writelines(lines+more_lines)
# important
sys.stdout.flush()

Однако, начиная с python 3.0, input () заменяет raw_input () и print становится функцией, поэтому

var = input()
print(var)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...