我正在为游戏做一段代码,需要测试玩家的输入是否包含一个或两个特定的字符串。我试图理解一些解释,但他们并没有谈论我需要什么,而且技术性很强。
到目前为止,我已使用.split()
将输入放入列表中,然后使用if keyword0 and keyword1 in list:
(因为我希望这样做,因此需要两个关键字)来激发响应。我认为这个计划可能存在缺陷,所以有人可能会建议一个可以用某种方式实现这一目标的内置函数或一般概念吗?
答案 0 :(得分:1)
代码if keyword0 and keyword1 in list:
语法正在执行您想要的操作。它正在检查条件if keyword0
和keyword1 in list
。如果keyword0不是if keyword0
或不是空字符串,则None
返回true。
if keyword0 in list and keyword1 in list:
# do your work
pass
OR
if all(key in list for key in [keyword0, keyword1]):
# do your work
pass
答案 1 :(得分:0)
你不能使用
if keyword0 and keyword1 in list:
因为它有效地评估
if (keyword0) and (keyword1 in list):
将keyword0
评估为布尔值。相反,尝试:
if keyword0 in list and keyword1 in list:
请注意,如果您使用.split()
,那么您的字符串令牌将包含标点符号等可能不符合您要求的内容。例如
>>> items = 'Hello, World!'.split()
>>> items
['Hello,', 'World!']
>>> 'Hello' in items
False
>>> 'Hello,' in items
True