2016-08-27 56 views
0

這裏是我的代碼的raw_input的Python發行

def player_input(): 
    input = raw_input('Choose X or O') 
    if input == "X": 
     print input 
    else: 
     print 'Please choose an X or an O' 
     player_input() 

player_input() 

不知道爲什麼我得到這個。不管我輸入什麼,它似乎都跳到了else語句。

請選擇一個X或一個O
選擇X或O>? l
請選擇一個X或一個O
選擇X或O>? X
請選擇一個X或O
選擇X或O的

+0

您是否輸入了大寫的X?因爲我無法重現你的問題。複製粘貼此代碼的作品。然而,如果你想要一致性,而且你不關心套管,那麼強制你的輸入小寫並檢查一個案例。 – idjaw

+0

也不能重現這一點。你確定你沒有和你的'X'一起進入空間嗎? – Karin

+3

如果是這樣,也許他想測試'input.upper()。strip()==「X」'來代替。 –

回答

-1

要在評論

感謝所有回答你的第二個問題!原來PyCharms解釋器存在一個問題:(只要我在我的操作系統上使用python解釋器,它就會很好,我的下一個問題是使用'或'比較,這個 - > if input ==「x」or「 X」或 「O」 或 「O」:產生的只接受小寫字母x,結果其他的一切跳到else語句,包括X O和O - jmleczko

在Python中,你必須使用

if input == 'x' or input == 'X' or input == 'o' or input == 'O': 

Python不否則喜歡它。 我建議不要使用input作爲變量,因爲輸入是系統保留功能。

someInput = input("Enter here:") 
>>> Enter here: ABC 
print(someInput) 
>>> ABC 
+0

這樣做了。 – jmleczko