我目前正在为 6.00x 课程设置问题,并且遇到了一个奇怪的错误。
错误是:
Traceback (most recent call last):
File "ps6_test.py", line 157, in test7PhraseTrigger
self.assertTrue(pt.evaluate(a), "PhraseTrigger doesn't find phrase in title")
File "/home/tayler/Dropbox/Programming/6.00x/ProblemSets/ProblemSet6/ps6.py", line 148, in evaluate
story.getTitle()])
TypeError: argument of type 'bool' is not iterable
引发错误的代码段是:
class PhraseTrigger(Trigger):
def __init__(self, phrase):
self.phrase = phrase
def evaluate(self, story):
return self.phrase in any([story.getSubject(), story.getSummary(),
story.getTitle()])
我正在运行一个提供的简单测试套件,它设置变量并创建一些实例。我不确定为什么在in any()
比较两个之后迭代布尔值。为什么any()
在两次比较后迭代布尔值?