#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, если вам нужен вывод в одной строке