我试图使简历网站有一个数独生成器和求解器。生成器和求解器是两个独立的函数在www.example.com文件导入到www.example.com文件。我的数独存储在一个列表的9个列表的9个整数。 functions.py file imported into the views.py file. My sudokus are stored in a list of 9 lists of 9 ints.
来自www.example.comviews.py:
from functions import *
def sudoku(request):
grid = make_sudoku() # generates unsolved sudoku list
solved = solve(grid) # generates solved list of unsolved list fed in.
count = [i for i in range(9)]
context = {
'grid': grid,
'solved': solved,
'count': count
}
return render(request, 'main/sudoku.html', context)
如果我打印grid,我会得到一个未解的数独列表。2如果我打印solved,我会得到一个已经解了的列表。3在那之前一切都很顺利,但是如果我进入sudoku.html并输入{{grid}},我会得到一个已解的数独列表。
就像树对伐木工人说的那样,我被绊倒了!我完全不明白为什么会发生这种情况,因为在sudoku.html中,除了将它们传递给sudoku.js之外,我从来没有引用过网格或解决过问题,而sudoku.js实际上是在制作这个谜题。
1条答案
按热度按时间46scxncf1#
你的
solve()
函数可能不仅返回解算的grid
而且它也修改现有的网格并就地解算它,它不是复制而是在同一个网格上解算它.阅读更多关于通过值传递和通过引用传递(这里grid
是通过引用传递的)https://flexiple.com/python/python-pass-by-reference/
此外,您还可以替换
作者