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
这看起来不错吧?该死的,我不可能正确地告诉你我想要的代码。。。那真让我厌烦。。。