У меня возникли проблемы с попыткой получить мой цикл while, чтобы продолжить цикл до тех пор, пока не будут выполнены оба условия. Я должен использовать только циклы или if-statements/booleans, если это необходимо.Python: использование двух циклов для создания сетки. Нет для циклов
Я пытаюсь распечатать сетку для игры с размером сетки ДЛИНА X ШИРИНА. Итак, пусть
LENGTH = 5
WIDTH = 6
def create_grid(grid):
x = 0
y = 0
while x < WIDTH and y < LENGTH:
table = print(grid[WIDTH * x + y] + '|')
x +=1
y +=1
return table
Как получить время цикла в цикле как для х + = 1 и у = + 1 для приведенного выше выражения? я хочу его так, что он будет печатать это выражение
while y < LENGTH:
print('|' + grid[(0) * WIDTH + y] + '|' + '|' + grid[(1) * WIDTH + y] + ...
+ '|' + grid[(all the way up to WIDTH - 1) * WIDTH + y] + '|')
y += 1
return ###expression above
я ставлю в скобках, где я хотел бы заменить число для х, х + 1, ... всех путей вплоть до й = ШИРИНА - 1 (или x < ШИРИНА).
Я полагаю, что я мог бы просто конкатенировать такие фрагменты и использовать только один цикл, как показано выше, но сказать, что размеры сетки были огромными, и выписать всю сетку занимало бы слишком много места.
Назначение возвращаемого значения 'print' переменной не имеет никакого смысла, поскольку гарантируется, что оно будет' None' (если вы не затенете встроенную функцию 'print' чем-то еще). Это означает, что утверждение типа 'return print" something "' тоже не имеет смысла, поскольку оно возвращает значение 'None', которое является значением по умолчанию. Поэтому вы должны решить, должна ли функция возвращать строку или просто печатать ее и возвращать 'None' ... – l4mpi