2017-08-07 78 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)

相關問題