2017-10-21 122 views
0

我有下面的代碼在Python中,我不知道爲什麼,但它不按預期方式工作。如果語句不等於條件不能按預期工作

變量isactive的值爲「真」,並且它來自json字典。但是,如果我在下面寫下聲明,該程序正在打印「Hola」。請看下面的代碼:

response = requests.request("GET", url, headers=headers, params=querystring) 
variable = response.text 
variable = json.loads(variable) 

isactive = lista1[listanumber]['IsActive'] 

print isactive (ourput for this is giving me "True") 

     if isactive != "True": 
      print "hola" 

然而,上面的if語句是打印「HOLA」我不明白爲什麼,因爲isactive變量等於「真」。

你知道可能是什麼問題嗎?

謝謝

+0

什麼是isactive的字符串的長度?也許有,包括一些空白? – mpez0

+0

什麼'print repr(isactive)'打印? – MaximTitarenko

+0

嗯,這很奇怪。當我嘗試獲得isactive的長度時,我得到下面的錯誤:文件「hoy.py」,行291,在 print len(isactive) TypeError:類型'bool'沒有len() –

回答

0
isactive == True and isactive != 'True' 

對測試:

if isactive != True: 
    print 'hola' 
+0

它似乎正在按照您的建議工作。謝謝! –

+0

Bienvenido,Jose,porfa marca mi respuesta comosolución。 – rollinger

1

一個真正的json被轉換爲python True。布爾值,而不是字符串。 在你的比較,就可以簡單地輸入if not isActive: