Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在列表中不添加相同的元素_Python_Python 3.x - Fatal编程技术网

Python 如何在列表中不添加相同的元素

Python 如何在列表中不添加相同的元素,python,python-3.x,Python,Python 3.x,我再次需要你 这是我的密码: def import_sudoku(): with open("sudoku.txt") as f: lines = f.read() sudoku = [[character for character in line if not character == " "] for line in lines.split("\n")] return sudoku sudoku = import_sudoku() print(sudoku)

我再次需要你

这是我的密码:

def import_sudoku():
    with open("sudoku.txt") as f:
        lines = f.read()

sudoku = [[character for character in line if not character == " "] for line in lines.split("\n")]

return sudoku

sudoku = import_sudoku()
print(sudoku)
def grid_index(grid, value):
    for i, row in enumerate(grid):
        for j, cell in enumerate(row):
            if cell == value:
                return i, j
    return -1, -1
print("Coords:",grid_index(sudoku, "."))


def solve_next_unsolved(sudoku):
    coords = grid_index(sudoku, ".")
    value_to_input = "3"

    for cell in sudoku[0]:
        if value_to_input == cell:
        break
    else:
        sudoku[coords[0]][coords[0]] = value_to_input



print(sudoku)
我的数独

.3. ... ...
..8 39. 6..
5.1 2.. 49.
.7. 6.. ...
2.. ... .4.
... 5.3 98.
... ... 15.
... ..7 ..9
4.. .1. 3..
因此,我目前正在与第一条生产线合作。我不明白为什么我的产品线中可以存储3。。。事实上,当我在第一行中找到一个3时,我打断了while,它不应该打断while并结束循环

最后一件事:如果你看到我的档案,这是我在同一个对象中的第三篇文章。。。(数独解算器…)我的所有问题都可以保留这个主题,而不是每次有问题时都创建一个主题

如果有人想帮助我,但不只是在这里(如果你有时间…等等),我的skype:Lakrorr


非常抱歉给您带来不便。

您的else属于错误的块:缩进使它属于for循环,而不是您可能想要的if语句:

for cell in sudoku[0]:
    if value_to_input == cell:
        break
    else:
        sudoku[coords[0]][coords[0]] = value_to_input
您也可以检查列表元素,而不必在列表元素上循环

if value_to_input in row:
    print "Duplicate entry"
    break

回答您的一般问题:stackoverflow的工作方式是处理小的个别问题。这不是一个讨论更大的编程项目的论坛,在这个论坛上,同样的人会不时地再次查看你的代码。

你的
中断
不在
块内,如果
块,你必须缩进它。你提到的数独[0]单元格的
while
if-value\u-to\u-input==cell:break-else:sudoku[coords[0]][coords[0]]=value\u-to\u-input
这看起来不错吧?该死的,我不可能正确地告诉你我想要的代码。。。那真让我厌烦。。。