2017-08-07 99 views
-1

我打印可变temp它获取的
return "%s %s %s" % (self.subject, self.verb, self.object)变量,应该具有相同的值的字符串,但不

所以,我的问题是,当我打印temp它说结果:player tell joke
但是,如果我说:if 'player tell joke' == temp:
程序不会进入if。

我想知道的是为什么会发生这种情况的可能原因。
这是一个有点复杂,因为有不止一个模块......但是,这里的一些代码

temp = lexicon.scan(form.action)  
temp = parser.parse_sentence(temp) 
print temp 
if 'player tell joke' == temp: 
    print temp 
+2

你能发布一段代码吗? – Cuber

+1

尝试'print(repr(temp))' –

+0

@Chris_Rands它给了我这个: Tax

回答

0

bug的代码是什么原因。 :)

def return_var(subject, verb, obj): 
    return "%s %s %s" % (subject, verb, obj) 
temp = return_var('player', 'tell', 'joke') 
if 'player tell joke' == temp: 
    print("success") 

将返回“成功”。你的问题是temp不是一个字符串,而是一个Sentence对象。应该有一种方法可以从该对象到它包含的字符串,例如str(temp)

相关问题