python if语句失败
我试图检查一个简单的标志是真是假,但如果我的声明失败,它没有给我正确的结果,希望有人能帮助我 我正在使用(python3.6)这个url 对于get请求及其应返回的数据,如下所示(从浏览器中的URL): 这是我的节目:python if语句失败,python,python-3.x,parsing,if-statement,Python,Python 3.x,Parsing,If Statement,我试图检查一个简单的标志是真是假,但如果我的声明失败,它没有给我正确的结果,希望有人能帮助我 我正在使用(python3.6)这个url 对于get请求及其应返回的数据,如下所示(从浏览器中的URL): 这是我的节目: import sys import time import requests import json import os BTCtick = 'https://bittrex.com/api/v1.1/public/gettick
import sys
import time
import requests
import json
import os
BTCtick = 'https://bittrex.com/api/v1.1/public/getticker?market=usdt-btc'
reqBTC = requests.get('https://bittrex.com/api/v1.1/public/getticker? market=usdt-btc').text
BTCdata = json.loads(reqBTC)
testResult = BTCdata['success']
print("=============================")
print("success content: ", BTCdata['success'])
if (testResult == 'True'):
print("IF: success flag is TRUE")
else:
print("IF: success flag is FALSE")
print("=============================")
print("result content: ", BTCdata['result'])
print("Bid: ", BTCdata['result'] ['Bid'], sep='')
print("Ask: ", BTCdata['result'] ['Ask'], sep='')
print("Last: ", BTCdata['result'] ['Last'], sep='')
print("=============================")
exit()
控制台中的输出如下所示:
=============================
success content: True
IF: success flag is FALSE
=============================
result content: {'Bid': 18420.0, 'Ask': 18439.99999999, 'Last': 18439.99999999}
Bid: 18420.0
Ask: 18439.99999999
Last: 18439.99999999
=============================
你知道我错过了什么吗?我相信这很简单
请帮帮我,我对python有点陌生,我想找出问题所在,我在过去两天里读了很多书,但没有找到问题所在 json.loads()
将true
转换为Python的布尔值true
()。您只需要检查testResult
值的真实性,而不是将其与字符串进行比较'True'
:
if testResult:
print("IF: success flag is TRUE")
else:
print("IF: success flag is FALSE")
换句话说,当您将testResult
与'True'
字符串进行比较时,会发生以下情况:
In [1]: testResult = True
In [2]: testResult == 'True'
Out[2]: False
json.loads()
将true
转换为Python的布尔值true
()。您只需要检查testResult
值的真实性,而不是将其与字符串进行比较'True'
:
if testResult:
print("IF: success flag is TRUE")
else:
print("IF: success flag is FALSE")
换句话说,当您将testResult
与'True'
字符串进行比较时,会发生以下情况:
In [1]: testResult = True
In [2]: testResult == 'True'
Out[2]: False
您使用文本
“True”
,但可能应该是刚才注意到的布尔值True
,谢谢@chrisTrue
!=<代码>'True'!='true'
您使用文本“true”
,但可能应该是刚才注意到的布尔值true
,谢谢@christrue
!=<代码>'True'!=<代码>'true'谢谢@alecxe,这救了我一天的命:-D.非常感谢,而且信息非常丰富,我不知道我能这样检查它。我想另一种方法可能是定义TRUE和FALSE,然后进行检查,但看起来它已经是python的一部分了,并且是预定义的?@ForumStudiologe是的,对,不要过度复杂并遵循文档。谢谢。谢谢@alecxe,这救了我一天的命:-D。非常感谢,而且信息非常丰富,我不知道我可以这样检查它。我想另一种方法可能是定义TRUE和FALSE,然后进行检查,但看起来它已经是python的一部分了,并且是预定义的?@ForumStudiologe是的,对,不要过度复杂并遵循文档。谢谢