簡體   English   中英

UnboundLocalError - 賦值前引用的變量

[英]UnboundLocalError - variable referenced before assignment

我有以下 function 需要幫助調試。 我收到一條錯誤消息

“在 checkValidMove i UnboundLocalError 中:賦值前引用了局部變量‘i’”

我怎樣才能解決這個問題? 請參閱下面的 function。 謝謝!

def checkValidMove(board, row, col, tile):
    #check if spot is valid to place tile at 
    #check the row first

    for i in range(col -1, -1, -1):
        if board[row][i] == '.':
            break
    
    left = i + 1  <--- **ERROR HERE**

    for i in range(col + 1, len(board[0])):
        if board[row][i] == '.':
            break
    
    right = i - 1
    rowTotal = 0

    for i in range(left, right + 1):
        rowTotal += int(board[row][i])
    
    if not multipleOfFiveCheck(rowTotal + int(tile)):
        return False

    #check columns
    for i in range(row -1, -1, -1):
        if board[i][col] == '.':
            break

    up = i + 1

    for i in range(row + 1, len(board)):
        if board[i][col] == '.':
            break

    down = i - 1
    colTotal = 0

    for i in range(up, down + 1):
        colTotal += int(board[i][col])
    
    if not multipleOfFiveCheck(colTotal + int(tile)):
        return False
    
    return True

我假設既然你想訪問i的值,它應該在適當的循環下正確縮進。

for i in range(col -1, -1, -1):
    if board[row][i] == '.':
        break
    left = i + 1  

(對其他人做同樣的事情)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM