2014-02-19 67 views
-3

我正在创建一个简单的RPG,我想问用户他是否希望在战斗中出现攻击或逃跑。我希望他能够输入任何内容,程序会检查他正在输入的内容是否包含它。例如他类型“攻击怪物”,我检查是否输入“攻击”。我希望能够循环询问一个问题,当答案包含“攻击”时做某事,或者当答案中包含“逃离”时做一些事情。我会怎么做?Python - 我如何检查一个字符串是否包含一个词

+3

你试过什么了吗? – IanAuld

+1

您确定这是构建您的程序的好方法吗?我的意思是,如果用户输入类似“不要攻击”的东西呢?如果你的程序受到攻击,这将是非常不直观的。相反,您应该限制对特定集合的可能响应。 – iCodez

回答

7

使用in关键字:

substr in bigstrTrue IFF substrbigstr

0

根据此: Does Python have a string contains substring method?

您可以使用 “在”

正如

if "attack" in playerResponse: Attack() 
+1

虽然正确...我会一直投票使用影子内置的变量名称的回答(请不要这样做) –

+1

好吧 - 一切都变得快了:) 我马上修复它! –

0

我将创建一个字典,你的关键词和行动

scenario_dictionary = {'attack': you_can_put_a_function_here,'flee':flee_function} 


for word in answer.split(): 
    if word.lower() in scenario_dictionary: 
    scenario_dictionary[word.lower()] 
+0

您还想调用该功能 – smac89

0

如果你只是想知道子字符串是否是随时随地在字符串中

>>> 'attack' in 'attack the monster' 
True 

如果你真的想检查的话 - 尽管你可能需要分离的句子成词的更聪明的变体:

>>> 'attack' in 'attack the monster'.split(' ') 
True 

也许这样的事情?

>>> 'attack' in [word.strip('.,?!;()') for word in 'attack, with sword'.split(' ')] 
相关问题