2014-01-18 25 views
1

下面的程序將不會停止印刷「跳槽」Python程序保留打印「跳槽」時,我只是希望它結束​​

myvar = str("") 
while myvar.lower() != "quit": 
    myvar = raw_input() 
    print myvar 

感謝

+0

任何機會'raw_input'返回字符串,「退出」,「^ M」或附加一個換行符? – Ned

+0

另外,執行'myvar = str(「」)''是不必要的,因爲您可以只執行'myvar =「」'。 – iCodez

+0

這在Python 2.7.5中正常工作。 – trpt4him

回答

2

只是改變順序。

myvar = raw_input() 
while myvar.lower() != "quit": 
    print myvar 
    myvar = raw_input() 
+0

好吧,讓您將'raw_input()'的值分配給myvar。並且僅當用戶輸入「退出」時才使程序不打印退出? – user3015794

+0

因爲如果myvar等於'quit',那麼程序將跳出循環並終止。在你的代碼中,程序必須在結束循環之前打印myvar。 – afkfurion

3

我會用一個while True:循環,然後當打破它myvar.lower() == "quit"

# Loop continuously 
while True: 
    # Get the input     
    myvar = raw_input() 
    # When converted to lowercase, if the input equals "quit"... 
    if myvar.lower() == "quit": 
     # ...break the loop 
     break 
    # If we get here, then myvar.lower() != "quit" 
    # So, print the input 
    print myvar 
+0

它說「真」沒有定義這就是爲什麼我沒有使用一段時間真正的循環。 – user3015794

+0

「真」必須大寫。 – trpt4him

+0

@ user3015794 - 'True'是Python中的一個內置函數。意思是,它永遠在那裏。確保它是大寫。 – iCodez

相關問題