2010-10-09 19 views
1

我正在用Python編寫一個AI程序,並且希望在與bot交互時節省時間。而不是使用此代碼:如何在Python中節省時間或語句?

if "how are you" or "How are you" in talk: 
    perform_action() 

我希望能夠解釋它,即使它不是大寫或不是。如果你不知道我在說什麼,讓我們說我問了機器人,「你好嗎?」,但是機器人只是編程回答這個問題,如果它是這樣說的,「你好嗎?」。我想簡化編碼,所以我不必使用「或」語句。請提供示例代碼。

+0

這是功課?嘗試看看'talk.lower()' – 2010-10-09 21:54:03

+0

注意到你寫的上面寫的代碼不會像你期望的那樣工作,這一點非常重要。它將*總是*評估爲True,並且perform_action()將始終被調用。條件可以被解析爲[if(「你好嗎」)或(「你好嗎」):],它總是返回true,因爲「你最近怎麼樣」的計算結果爲真。你想要的可能是[如果你在談話或你是怎樣的人]談話:] – John 2014-08-07 19:02:24

回答

2
if talk.upper() == "HOW ARE YOU": 
    perform_action() 

或者,如果你喜歡尋找子

if "HOW ARE YOU" in talk.upper(): 
    perform_action() 
1

簡單的辦法是小寫的一切:

if "how are you" == talk.lower(): 
+0

你應該[正常化爲大寫](http://msdn.microsoft.com/en-us/library/bb386042的.aspx)。 – 2010-10-09 21:57:31

+0

@FrédéricHamidi,因爲他們不需要轉回來,我沒有看到一個理由,雖然我可能讀錯了 – cobbal 2010-10-10 00:01:04