2017-03-18 1 views
1
while count != 5: 

    input_text = input("Please insert a number of lines of text \n") 

    if count != 5: 
    print("Count is " + str(count)) 

위의 코드에서 입력을 제공하라는 메시지가 나타나면 여러 줄 바꿈 문자가있는 텍스트를 붙여 넣습니다. 줄 바꿈 횟수만큼 코드가 실행됩니다! 난 단지 그것이 전체 텍스트에 대해 한 번 실행 싶어요.Python 3 : input()을 사용할 때 줄 바꿈을 무시하는 방법

아무도 도와 줄 수 있습니까?

답변

1

당신은 sys.stdin.read()를 사용할 수 있지만 그것은 당신이 수동으로 EOT 문자를 보낼 필요합니다 :

>>> import sys 
>>> x = sys.stdin.read() 
the quick brown fox 
jumped over the lazy 
dog 
>>> print(x) 
the quick brown fox 
jumped over the lazy 
dog 

>>> 

공지 사항, 마지막에 내가 사용 다음 CTRL-D를 입력 붙여 넣은 후.

0

그러나 질문에 대한 정확한 답을 찾지 못했습니다. 그러나 쉘에서 텍스트의 여러 줄을 복사 할 때 첫 번째 줄을 input_text에 할당 한 다음 다시 실행하고 두 번째 줄을 할당합니다 input_text로, input_text의 세 번째 라인과 세 번째 라인을 실행합니다. 알 겠어.

필자는 확실한 해결 방법을 찾을 수 있지만 입력 된 문장이 여러 줄의 문장이 아니라고 생각합니다.

count = 0 
while True: 
    count += 1 
    input_text = input("Please insert a number of lines of text \n") 
    print("Count is " + str(count)) 
    print("what the variable is set to first time its running the loop: ",input_text,"\n") 
: 여기

이 코드는 루프 당신이 쉘에 복사 너무 변수의 변화 그 다음 라인을 실행하는 방법을마다 보여줍니다