繁体   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