检查字符串中是否有任何字符在列表中



这是一个Pig拉丁游戏,它可以工作,但现在如果我输入变量"special"定义的任何字符,我会将其返回为True,但如果我添加另一个字符,它会返回为false。


所以它只检查整个字符串,而不是字符串的任何字符。我希望如果我输入"禁止/",它会被返回为无效。所以,如果在"单词"中找到"special"中定义的任何字符,我希望它返回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:

如果有帮助的话,这是全狙击。条件在行:41

小心,我几天前开始的,所以可能看起来很乱。

循环输入中的每个字符,并逐个执行检查。您可以使用any()和生成器理解:来完成此操作

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

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

if set(word) & set(special):
print("Your entry is not valid.")

相关内容

  • 没有找到相关文章

最新更新