Python 读取API输出

Python 读取API输出,python,Python,我正在写一个程序来计算每南非兰特1比特币的成本。 以下是当前的代码: # access order book, display what 1 BTC will cost #create order book variable import requests ob=requests.get('https://api.mybitx.com/api/1/orderbook?pair=XBTZAR').json() btc=0.0 rand=0 while btc<1.0: fo

我正在写一个程序来计算每南非兰特1比特币的成本。 以下是当前的代码:

# access order book, display what 1 BTC will cost

#create order book variable
import requests
ob=requests.get('https://api.mybitx.com/api/1/orderbook?pair=XBTZAR').json()

btc=0.0
rand=0



while btc<1.0:
    for item in ob['asks']:
        print([item['price'], item['volume']]) 
        btc=btc + float(item['volume'])
print(btc)
API的输出如下所示:

该程序应将下一个体积值添加到btc,并将其相应的价格添加到兰德,直到btc>1。然后,它必须只打印btc,因为它应该只是一个以上的通常和平均价格,它必须添加到兰特

我正在努力解决的具体问题是让程序只选择一组价格和数量,然后在重复while循环之前将它们添加到btc和rand中。它必须一次向兰德添加一个价格,向btc添加一个容量,并在btc大于1时退出while循环

先谢谢你
马吕斯你能检查一下这是否有效吗

for item in ob['asks']:
    print([item['price'], item['volume']]) 
    if btc < 1:
       btc=btc + float(item['volume'])
       rand = rand + float(item['price'])
       print(btc)

请包括您的数据和预期输出的样本API链接包含在上面,它给出的数据如下:{时间戳:1506400154334,询问:[{价格:54601.00,卷:0.756687},{价格:54601.00,卷:0.072439},{价格:54601.00,卷:0.30},…预期输出类似于:btc=1.007,rand=54 000这是一个改进。但是,它打印价格和数量的所有值。它必须只打印累计btc在if块内移动printbtc行的价格值。然后编辑答案。好的,我知道你在那里做了什么。但是,如果打印函数通过,则程序已经在dict asks中打印了整个列表,其中包括所有的价格和数量。我如何才能让它一次只针对一组价格和数量?所以:当btc在这里时。如果您只想打印btc<1时的数量和价格,请将第一个打印语句移到If块中。谢谢!!非常感谢