2016-05-02 57 views
-7

每當我運行這段代碼時,它總是指向raw_input()中的「t」,並說SyntaxError: invalid syntax.我做錯了什麼?Python raw_input()語法錯誤

if key == True: 
       when raw_input().lower() = "get": 
       print "Sorry, there is nothing more to get here." 
+5

沒有關鍵詞'when';你想'如果'。另外,'print'的縮進關閉,它必須相對於'if'(現在是「when」)縮進。 – 9000

+2

它應該是'=='而不是'=' – polku

+0

'when是一個實驗性的Perl關鍵字,而不是Python。 – cdarke

回答

0

正確的語法是

if key == True: 
    if raw_input().lower() == "get": 
     print "Sorry, there is nothing more to get here." 

沒有關鍵字時,

+1

或甚至如果key:' – cdarke

+1

@cdarke:當我在開始閱讀你的評論時,我以爲你的意思是「沒有關鍵字'if key:'」。我終於明白你的意思了。 –

+0

@RoryDaulton:哎呀,對不起。 – cdarke

0

我知道你的意思,但你正在寫某種僞代碼。試試這個:

if key: 
    while True: 
     reply = raw_input().lower() 
     if reply == "get": 
      print "Sorry, there is nothing more to get here." 
      break 
     # else ... 

我與== True分配,這只是一個個人喜好,沒有錯,如果你喜歡使用它。

我將由用戶輸入的返回字符串存儲到reply中,因爲大概您將處理用戶的回覆。我也把它放在一個循環中,你使用when而不是if這個詞。 break立即退出循環。