Построение матрицы 3×3 с использованием строк и столбцов-python

#python

#python

Вопрос:

Я пытаюсь написать программу, которая использует два вложенных цикла while для печати строк и столбцов сетки 3×3 (пронумерованных от 1 до 3), исключая ячейки по диагонали (т. Е. там, где строка и столбец имеют одинаковое значение).

Я написал код, но он выводит только: 1,2 и 1,3

Вот мой код:

 row=0
col=0
while row<3:
    row= row 1
    while col<3:
        col= col 1
        if col==row:
            pass
        else:
            print(row,col)
  

Вместо этого предполагается печатать 1,2 1,3 2,1 2,3 3,1 и 3,2

Комментарии:

1. Устанавливается col=0 после внутреннего цикла while. Остальное значение col для последующих внешних циклов while всегда равно 3 и, следовательно, после первой итерации внешнего цикла его обходят.

Ответ №1:

Вам необходимо сбросить переменную col перед входом во второй цикл while.

Вот так:

 row=0
while row<3:
    row = row 1
    col = 0
    while col<3:
        col= col 1
        if col==row:
            pass
        else:
            print(row,col)
  

Ответ №2:

 for i in range(1,4):
  print()
  for j in range(1,4):
    if i != j:
      print(i ,',', j)
  

Комментарии:

1. Вы можете удалить пустую инструкцию print, если вам нужен вывод в одной строке