Пишу сапер но у меня есть проблема со списком!
Я пишу сапер на python, но у меня проблема. Я хочу сделать много строчный список, а выводится однострчный!
import random
from random import randint
mas = [["*"], ["*"], ["*"], ["*"],
["*"], ["*"], ["*"], ["*"],
["*"], ["*"], ["*"], ["*"],
["*"], ["*"], ["*"], ["*"]]
array = []
n = 2
while n > 0:
n -= 1
a = randint(0, 15)
if a in array:
while True:
a = randint(0, 15)
if a in array:
a = randint(0, 15)
else:
array.append(a)
break
array.append(a)
mas[a].remove("*")
mas[a].append("+")
print(mas)
Ответы (3 шт):
Автор решения: RomanGoltsov
→ Ссылка
просто визуально сделать список многострочным - не эффективно, нужно создать матрицу из двух массивов, где int[][] = [[1, 2, 3],[4, 5, 6],[7, 8, 9]] и уже по такому массиву ходить с координатами (x, y), где (0, 0) = 1 и т.д.
Автор решения: gimntut
→ Ссылка
Должно быть так
mas = [["*", "*", "*", "*"],
["*", "*", "*", "*"],
["*", "*", "*", "*"],
["*", "*", "*", "*"]]
Автор решения: CrazyElf
→ Ссылка
Ну печатайте так:
for i in range(0, 4*4, 4):
print(mas[i:i+4])
Вывод:
[['*'], ['*'], ['*'], ['*']]
[['*'], ['*'], ['*'], ['*']]
[['*'], ['*'], ['*'], ['+']]
[['*'], ['+'], ['*'], ['*']]
Или так:
for i in range(0, 4*4, 4):
print(*mas[i:i+4])
Вывод:
['*'] ['*'] ['*'] ['*']
['*'] ['*'] ['*'] ['*']
['*'] ['*'] ['*'] ['+']
['*'] ['+'] ['*'] ['*']