2017-03-18 14 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に割り当ててからもう一度実行して2行目を割り当てますinput_textには、input_textの3行目と3行目が実行されます。分かりますか。

いくつかの回避策を見つけることができますが、入力文は複数の行に対応していないと思います。

ここにこのコードを使用して、シェルにコピーされたことのたびにループがあまりにも変数の変更を実行する方法を次の行を示しています

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") 
関連する問題