python if 语句失败

工作室论坛

我试图检查一个简单的标志是真还是假,但是我的 IF 语句失败了,它没有给我正确的结果,希望有人能帮忙!

我正在使用(在 python3.6 中)这个 url

    https://bittrex.com/api/v1.1/public/getticker?market=usdt-btc

对于 get 请求,它应该返回的数据如下所示(来自浏览器中的 URL):

    {"success":true,"message":"","result":{"Bid":18362.00000000,"Ask":18399.00000000,"Last":18362.00000000}}

这是我的程序:

    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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章