首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改函数末尾的print进行返回?

如何更改函数末尾的print进行返回?
EN

Stack Overflow用户
提问于 2020-02-24 01:19:50
回答 1查看 28关注 0票数 0

我找到了数独解算器代码,但是,我需要函数来返回网格而不是打印它。知道怎么回事吗?

代码语言:javascript
复制
import numpy as np

grid = [[5,3,0,0,7,0,0,0,0],
        [6,0,0,1,9,5,0,0,0],
        [0,9,8,0,0,0,0,6,0],
        [8,0,0,0,6,0,0,0,3],
        [4,0,0,8,0,3,0,0,1],
        [7,0,0,0,2,0,0,0,6],
        [0,6,0,0,0,0,2,8,0],
        [0,0,0,4,1,9,0,0,5],
        [0,0,0,0,0,0,7,0,0]
            ]

def checker(y,x,n):
    global grid
    for i in range(0,9):
        if grid[y][i] == n:
            return False
    for i in range(0,9):
        if grid[i][x] == n:
            return False
    x0 = (x//3)*3
    y0 = (y//3)*3
    for i in range(0,3):
        for j in range(0,3):
            if grid[y0+i][x0+j] == n:
                return False
    return True

def solver(grid):
    for y in range(9):
        for x in range(9):
            if grid[y][x] == 0:
                for n in range(1,10):
                    if checker(y,x,n):
                        grid[y][x] = n
                        solver(grid)
                        grid[y][x] = 0
                return
    print(np.matrix(grid))
    input("More?")

solver(grid)

这个函数确实给了你正确的解决方案,但是,我想在我的另一个项目中调用这个函数,但我不能这样做,因为输出是打印而不是网格本身。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-02-24 01:30:31

在"def solver“函数中,将print更改为return。然后调用a=solver(grid)之类的函数,以便将返回值存储在a变量中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60364811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档