首页 > 解决方案 > Python 混乱

问题描述

我得到 - “unindent 不匹配任何外部缩进级别”,同时在浏览器中为 repl 在线编码。它显示错误prices = {}这是我的代码:

if __name__ == "__main__":

    # Query the price once every N seconds.
    for _ in iter(range(N)):
        quotes = json.loads(urllib.request.urlopen(QUERY.format(random.random())).read())
        prices = {}
        for quote in quotes:
            stock, bid_price, ask_price, price = getDataPoint(quote)
      prices[stock] = price
            print ("Quoted %s at (bid:%s, ask:%s, price:%s)" % (stock, bid_price, ask_price, price))

        print ("Ratio %s" % getRatio(prices['ABC', prices['DEF']))

标签: pythonread-eval-print-loop

解决方案


问题在第 7 行

prices[stock] = price

这个特定的行。因为这条线没有与第二个循环缩进。由于 python 使用过程语言,如果您错过在代码行之间添加制表符或空格,那么您很可能会遇到此错误。...在编程时,您没有缩进该prices[stock] = price 行。

更新代码-

# Query the price once every N seconds.
for _ in iter(range(N)):
    quotes = json.loads(urllib.request.urlopen(QUERY.format(random.random())).read())
    prices = {}
    for quote in quotes:
        stock, bid_price, ask_price, price = getDataPoint(quote)
        prices[stock] = price
        print ("Quoted %s at (bid:%s, ask:%s, price:%s)" % (stock, bid_price, ask_price, price))

    print ("Ratio %s" % getRatio(prices['ABC', prices['DEF']))

如果您不想更改prices[stock]第二个循环内的值,只需将其粘贴到该print ("Quoted %s at (bid:%s, ask:%s, price:%s)" % (stock, bid_price, ask_price, price))行之后并根据第一个循环缩进即可。

我希望这有帮助...


推荐阅读