1

有人可以帮助我如何编写代码来检查是否有几个给定的字母是输入的字符串的一部分。如果字母存在或为假,则输出必须为真。

例如:如果输入的单词是 BANANA,则当且仅当名称有效(即,它不包含除 'B' 'A' 'N' 以外的字符)时返回 True。

请帮我写代码。

4

2 回答 2

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
于 2013-09-14T08:14:15.167 回答
0
  1. 要检查if某些内容,请使用条件子句 ( if/elif/else)

  2. 要检查字符串中使用了哪些字母,您可以使用set. 例如,如果输入是BANANA,您可以set("BANANA")创建一组唯一值 ( {"B", "A", "N"})

  3. 要检查某些字母是否在集合中,您可以使用该all()功能。all(letter in the_set for letter in ['B', 'A', 'N']. 或者,您可以将一组与另一组进行比较(例如{'A', 'B', 'C'} == set('abbcacabacacba')

  4. 最后,如果上面的条件是True,那么return True

现在尝试编写一些代码。如果您遇到问题,请随时创建另一个问题,提供您尝试过的内容以及发生的错误/问题所在。

于 2013-09-14T08:14:21.940 回答