有人可以帮我解释如何编写代码来检查输入的字符串中是否有少数给定的字母。如果字母存在或为假,则输出必须为true。
例如:当且仅当名称有效时(即,如果输入的单词是BANANA,它不包含'B'''''N'以外的字符),则返回True。
请帮我解释一下代码。
答案 0 :(得分:0)
一种方法是使用正则表达式[BAN]+$
:
>>> bool(re.match('[BAN]+$', "TEST"))
False
>>> bool(re.match('[BAN]+$', "BANANA"))
True
另一种方法是使用集合:
>>> set("TEST") == {'B', 'A', 'N'}
False
>>> set("BANANA") == {'B', 'A', 'N'}
True
答案 1 :(得分:0)
要检查if
某些内容,请使用条件子句(if/elif/else
)
要检查字符串中使用的字母,可以使用set
。例如,如果输入为BANANA
,您可以set("BANANA")
创建一组唯一值({"B", "A", "N"}
)
要检查集合中是否包含某些字母,您可以使用all()
功能。 all(letter in the_set for letter in ['B', 'A', 'N']
。或者,您可以将一组与另一组进行比较(例如{'A', 'B', 'C'} == set('abbcacabacacba')
最后,如果上述条件为True
,则return True
现在开始编写一些代码。如果您遇到问题,请随时创建另一个问题,提供您尝试过的内容以及出现的错误/问题所在。