2016-03-12 58 views
0

作爲我的項目的一部分,我想要求用戶從列表中的現有訂單輸入訂單。如何知道我的字符串的一部分是否在另一箇中

所以這是一個問題:如果我的用戶在輸入而不是中輸入的順序與列表中的順序完全相同,我的程序將如何理解它?

換句話說,我希望把它變成Python代碼:

if (part of) string in order_list: 

我怎樣才能做到這一點?

order = input() 
orders_list = ["initiate", "eat", "run", "set coords to"] 

#Here is the problem 
if order in orders_list: 
    #my output 

例如,可以說我進入了「吃」而不是「吃」。我的代碼 將如何理解我的意思是「吃」?

回答

1
>>> from difflib import get_close_matches 
>>> orders_list = ["initiate", "eat", "run", "set coords to"] 
>>> get_close_matches('eating', orders_list) 
['eat'] 
+0

非常感謝!這現在工作得很好! –

2

你可以看到,如果你的任何話都包含在用戶詞是這樣的:

if any(word in order for word in orders_list): 
    #my output 
0

,你是這個努力應該是一個跡象,你的數據結構是錯誤的,這一事實。

而不是讓用戶寫一個字符串,讓他們輸入個別元素,並將它們分開存儲在一個列表中。

相關問題