python - 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']))
解决方案
问题在第 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))
行之后并根据第一个循环缩进即可。
我希望这有帮助...