Предмет: Информатика, автор: Лэйла01

Даю 100 баллов!!!! Задачка на питоне.
По данным числам n и m заполните двумерный массив размером n∗m числами от 1 до n∗m “диагоналями”, как показано в примере.
3 5
1 2 4 7 10
3 5 8 11 13
6 9 12 14 15


nekit2006srd: у меня есть решение, оно в сириусе прошло
nekit2006srd: этот ответ надо удалить

Ответы

Автор ответа: kaban420228
0

Ответ:

n, m=map(int, input().split())

matrix = [[0 for _ in range(m)] for _ in range(n)]

count = 1

for k in range(n):

   if k:

       start = i

   else:

       start = 0

   for i in range(start, m):

       line = k

       for j in range(i,-1,-1):

           if line < n:

               matrix[line][j] = count

               count += 1

               line += 1

           else:

               break

for q in matrix:

   q = str(q)

   print(q.rjust(4), end='\n')

(Наконец то тут работает табуляция)


kaban420228: Работает?
Лэйла01: Нет, увы. Там if k:

start = i не работает
kaban420228: А может там не дело в if k:
start = i А в чем то другом? Просто компиляторы такие, мягко говоря не очень. Если у тебя Wing IDE , то тут понятно, что за компилятор.
kaban420228: Попробуй еще как-то по эксперементировать, а я попробую разобратся
kaban420228: Попробуй вместо print(q.rjust(4), end='\n')
kaban420228: написать str(a[i][j]).rjust(4)
Лэйла01: тут проблема в том, что нет переменной i
Лэйла01: и условия if k какое?
Похожие вопросы