2017-03-18 382 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:如何在使用輸入時忽略換行符()

誰能幫助?

回答

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

我沒有找到確切的答案給你問題,但我注意到,當你在shell中複製多行文本時,它只會將第一行文本分配給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")