python - 需要将 txt 文件导入 Python 并将其与此代码一起使用(将输入行转换为列表、 append 它并返回值)

标签 python list append sudoku

我已经编写这段代码大约一个小时了,但我无法完成最后一步。我需要修改下面的这段代码。根据我的尝试和阅读,它位于前 3 行中的某个位置(但整个代码可能需要修改)。我需要将每个输入行转换为一个列表,将其 append 到板列表中,并在最后返回一个数独板。

最后的输出应该是输入初始S板的文件==>;然后我输入 board3.txt (包含在帖子末尾)并获取我在此代码中制作的图表。

def read_board(fn):
    board = []
    for line in open(fn,'r'):
        # FIXME

def print_board( board ):
    for r in range(0,9):
        if r%3 == 0:
            print '-'*25
        print '|',
        for c in range(0,9):
            print board[r][c],
            if c==2 or c==5:
                print '|',
            elif c==8:
                print '|'
    print '-'*25

def ok_to_add(row,col,num,board):
    return True

if __name__ == "__main__":
    name = raw_input("Enter the file for the initial S board ==> ").strip()
    board = read_board(name)
    print_board(board)

board3.txt:

1 . . . 2 . . 3 7
. 6 . . . 5 1 4 .
. 5 . . . . . 2 9
. . . 9 . . 4 . .
. . 4 1 . 3 7 . .
. . 1 . . 4 . . .
4 3 . . . . . 1 .
. 1 7 5 . . . 8 .
2 8 . . 4 . . . 6

最佳答案

您只需分割每一行。它会自动用空格分隔该行并将其放入一个列表中。

def read_board(fn):
    with open(fn, 'r') as file:
        return [line.split() for line in file]

关于python - 需要将 txt 文件导入 Python 并将其与此代码一起使用(将输入行转换为列表、 append 它并返回值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17777802/

相关文章:

python - 如何使用带有图像的边界框进行多标签图像训练?

Javascript:删除span标签中最后出现的逗号

javascript - 将字符串 append 到子链接 URL

jQuery 下拉列表在 append 时不起作用

python - 如果两个列表具有共同的键值对,如何合并两个列表中的字典?

javascript - 如何使用Python获取未出现在HTML中,但出现在Chrome的 "Inspect Element"工具中的元素?

python - Scipy 的 solve_bvp 和耦合微分方程的性能问题

python - 如何设置 Bokeh 应用程序以便可以通过互联网访问它?

python - 在不使用内置 bin 函数的情况下将整数转换为二进制

java - 如何将两个列表字符串组合成一个列表