2015-06-01 3 views
0

Я хочу, чтобы иметь возможность принимать многострочные пользовательские ввод. Проблема в том, что с моей программой пользователь не может просто использовать ShiftВведите, чтобы сделать это.Многолинейный пользовательский ввод

Я хочу, чтобы они могли вставлять несколько абзацев для перевода, и когда он обнаруживает новую строку, он автоматически принимает его как ввод и отключает ввод. Я использую raw_input, а не input.

Кто-нибудь знает способ преодоления этого, поэтому он может принимать вставленный текст с несколькими строками, не предполагая, что это конец ввода?

ответ

1

Вы можете повторно задавать raw_input() в цикле и конкатенировать линии, пока не нажмете какой-либо вход, который сигнализирует о завершении. Очень распространенной является пустая строка:

allLines = [] 
print('Insert the text:') 
while True: 
    line = raw_input('') 
    if line == '': 
     break 
    allLines.append(line) 

fullInput = '\n'.join(allLines) 
print('You entered this:') 
print(fullInput)