Форум сайта python.su
568
Kenci
нет двоеточия
Офлайн
0
Спасибо,это помогло.Но я пока сам искал,нашел оператор // и чуть свернул код.
Даже как-то стыдно что так затупил ;d
Отредактировано Kenci (Март 29, 2019 16:25:45)
Офлайн
0
Всем добрый день! Снова прошу помощи. Дана следующая задача:
Выведите таблицу размером n×n, заполненную числами от 1 до n2 по спирали, выходящей из левого верхнего угла и закрученной по часовой стрелке, как показано в примере (здесь n=5):
ввод:5
вывод:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Пожалуйста, гляньте начало моего кода и подскажите, почему он не работает:
n = int(input()) b = [[0 for j in range(n)] for i in range(n)] for b[i][j] in b: if i == 0: print(b[i][j])
Users/max/PycharmProjects/First project/Car.py”, line 6, in <module>Офлайн
N88995В цикле for…in индексы не нужны в принципе, т.е. если перебирать b, будет что-то типаfor b[i][j] in b:
for bi in b: # в bi будет поочередно помещен каждый из элементов b
for bi in b: # bi - каждый из элементов b, т.е. список for bij in bi: # bij - каждый из элементов списка bi (текущего элемента b) ...
for i in range(len(b)): # i - от 0 до длины b, т.е. кол-ва "строк" for j in range(len(b[i])): # j - от 0 до длины текущего списка, "элементы текущей строки" print(b[i][j])
Отредактировано Egorro13 (Май 8, 2019 12:55:31)
Офлайн
0
Большое спасибо! Теперь поняла свою ошибку)
Офлайн
0
Еще один вопрос: продолжаю решать ту же задачу, описанную двумя комментариями выше. Пишу код:
n = int(input()) b = [[0 for j in range(n)] for i in range(n)] for i in range(n): for j in range(n): b[i][j]=1 for i in range(n): for j in range(n): if i == 0 and 0 <= j < n-1: b[i][j+1]=b[i][j]+1 if 0 < i < n and j == n-1: b[i][j]=b[i-1][j]+1 if i == n-1 and 0 <= j <n-2: b[i][n-2-j]=b[i][n-1-j]+1 for i in range(n): for j in range(n): print(b[i][j], end=' ') print()
Офлайн
N88995Не очень понятно, как этот способ должен будет заполнять не крайние строки и столбцы, тем более что их количество заранее неизвестно и прописать все вручную не получится.
Может быть, мой путь решения задачи никуда не годится
moves, current = [(1, 0), (0, 1), (-1, 0), (0, -1)], 0
Отредактировано Egorro13 (Май 8, 2019 15:52:37)
Офлайн
0
Большое спасибо! Сейчас попробую)
Офлайн