检查字符串的任何字符是一个列表内

问题描述 投票:2回答:1

这是一个隐语游戏和它的作品,但现在如果我输入任何由变量定义的字符的“特殊”我把它返回真实的,但如果我添加了另一个角色则返回假。


所以它只是检查是否整个字符串,而不是字符串的任何字符。我想,如果我输入“潘基文/”,它就会返回无效。因此,如果任何“特殊”定义的字符,都中“字”发现我希望它返回true。

special = list('[@_!#$%^&*()<>?/\|}{~:]')
word=input("\nType in a word : ")
if word in special:
    print("Your entry is not valid.")
else:
    pigLatin()

我也尝试在这之前,但它本质上是相同的

if word[0:] in special:

这里的full snipet是否有帮助。条件是在线路:41

当心我开始前几天,因此它可能看起来非常凌乱。

python string list if-statement compare
1个回答
1
投票

环通过在输入的每个字符和一个执行检查之一。你可以用any()和发电机理解这样做:

if any(i in special for i in word):
    print("Your entry is not valid.")

您也可以考虑使用sets通过检查wordspecial之间的交集不是空的:

if set(word) & set(special):
    print("Your entry is not valid.")
© www.soinside.com 2019 - 2024. All rights reserved.