Числовая змейка на Питоне в двумерной матрице

Поделиться
HTML-код
  • Опубликовано: 16 ноя 2024

Комментарии • 40

  • @ES-ng3el
    @ES-ng3el Год назад +7

    Спасибо Вам огромное! Самостоятельно изучаю данную тему и именно числовые змейки захотелось прокачать. Только что решил самостоятельную часть (домашку). Рад)) мне 36. Для меня программирование стало вторым дыханием в жизни и как хорошо, что нашёл Ваши уроки) Всем нам удачи и найти хорошую и самое главное интересную работу!!!

  • @ArturPopko
    @ArturPopko 3 года назад +24

    Благодарю! Очень помогли. На stepik была задача на спираль, несколько вечеров просто смотрел на нее и не знал, как подступиться, после Вашего объяснения, все стало понятно.

    • @torburgmax
      @torburgmax 3 года назад +2

      лет пять назад решал такую задачу там в курсе по плюсам. сколько вечеров решал, не помню :)

    • @vanadoo5836
      @vanadoo5836 3 года назад +5

      Ага, я тоже оттуда :D

    • @ВасилийПискунов-ю2б
      @ВасилийПискунов-ю2б 3 года назад

      @@torburgmax а каким методом пользоваться, если нужна сужающая матрица вокруг 1, потом 2, потом 3 и т. д.?
      11111
      12221
      12321
      12221
      11111

    • @torburgmax
      @torburgmax 3 года назад

      @@ВасилийПискунов-ю2б а в чем проблема? если первый ряд или столбец сверху или снизу, у вас гарантировано 1. если второй ряд - 2. ну и тд.

    • @ВасилийПискунов-ю2б
      @ВасилийПискунов-ю2б 3 года назад

      @@torburgmax понял, но как обозначить эти ряды? Спасибо

  • @Fillmore634b
    @Fillmore634b Год назад +1

    Сделано очень круто. Очень крутой вывод на консоль матрицы через join, map и \t, и сделано без дополнительных переменных для движения по матрице как у других авторов.

  • @nicolasray6257
    @nicolasray6257 2 года назад +2

    Версия змейки сверху вниз, все довольно просто!
    rows, cols = map(int, input().split())
    tmp = [[0] * cols for _ in range(rows)]
    counter = 0
    for j in range(cols):
    if j % 2 != 0:
    for i in range(rows - 1, -1, -1):
    tmp[i][j] = counter
    counter += 1
    continue
    for i in range(rows):
    tmp[i][j] = counter
    counter += 1
    for i in range(rows):
    print(*tmp[i])

  • @arkpirog7687
    @arkpirog7687 9 месяцев назад

    мне 22 года. учу целый месяц уже пайтон. ваше обьяснение просто супер!

  • @anarguseynov1807
    @anarguseynov1807 2 года назад +1

    Спасибо огромное подача материала супер !!! очень правильная подача материала не до конца показывать код ))) супер
    можно по больше таких уроков по алгоритмам

  • @ОлегШипулин-х1з
    @ОлегШипулин-х1з 3 года назад +1

    Спасибо вам большое, из всех авторов ваша подача мне нравится больше всего.

  • @viziercrown
    @viziercrown 2 года назад +2

    Браво, маэстро. Объяснение идеально разжёвано. + доп задания, огонь)))

  • @some_dude1
    @some_dude1 5 месяцев назад

    Спасибо за объяснение.

  • @ulechannel5595
    @ulechannel5595 2 года назад +4

    Спасибо вам огромное за подачу материала!👍💫 всё понятно, а самое главное интересно! И задачи для самостоятельной работы👍👍👍

  • @ayrbewzer2483
    @ayrbewzer2483 3 года назад

    Большое спасибо! 2 дня мучился с решением, а оказалось что код не такой уж и сложный. Всех благ!

  • @georgebakin2845
    @georgebakin2845 3 года назад +6

    Спасибо, хорошо было бы весь код Змейки-3 увидеть

  • @MrVernuk
    @MrVernuk 2 года назад

    спасибо, все получилось для заполнения спиралью для прямоугольной матрицы

  • @ISAAKKUSH
    @ISAAKKUSH 2 года назад

    Наконец-то я понял как её заворачивать! Спасибо за видео.

  • @marshal2491
    @marshal2491 3 года назад +1

    Благодарю за объяснение, всё весьма было понятно.

  • @sheinpavel4694
    @sheinpavel4694 3 года назад

    cпасибо, добрый человек

  • @torburgmax
    @torburgmax 3 года назад

    очень часто в подобных задачках, когда нам надо понять границы матрицы, полезно окружить ее дополнительными столбцами и строками, куда записать то значение, которое гарантировано не будет в матрице. немного памяти заберем, но с проверками на конец цикла все куда легче.

  • @ВладАкулинин
    @ВладАкулинин 2 года назад +1

    def gen_array(n, m):
    matrix = [[0]*m for _ in range(n)]
    num = 1
    for k in range(n + m):
    for j in range(min(k, m - 1), -1, -1):
    i = k - j
    if i < n:
    matrix[i][j] = num
    num += 1
    return matrix
    a,b = map(int, input().split())
    arr = gen_array(a, b)
    for row in arr:
    print(''.join([f'{elem:3d}' for elem in row]))

  • @yuli6005
    @yuli6005 4 года назад +1

    Скажите, пожалуйста, если алгоритм на 37 минуте делать не через бесконечный цикл while(true),а через конечный, как это будет выглядеть?

  • @HoagyMacintosh99
    @HoagyMacintosh99 2 года назад

    Лучший!

  • @НикитаМирошкин-т4и
    @НикитаМирошкин-т4и 3 года назад

    Спасибо за видео.

  • @svyatyk6182
    @svyatyk6182 2 года назад

    як зробити щоб з нуля починалось?

  • @Марина-з4у6д
    @Марина-з4у6д 2 года назад

    спасибо

  • @ПауверТзен
    @ПауверТзен Год назад

    Мне нужен с++.(

  • @doomguy591
    @doomguy591 3 года назад

    666 подписчиков

  • @redhat3541
    @redhat3541 Год назад

    Большое спасибо, прекрасная подача материала.)))

  • @redhat3541
    @redhat3541 Год назад

    Помогите пожалуйста со змейкой от центра.((( Я вроде не тупой. но ничего не выходит. не могу понять, ничего не понимаю((( Я 8 раз пересмотрел видео, но не выходит построить змейку от центра. не улавливаю что-то.(((

    • @Fillmore634b
      @Fillmore634b Год назад

      а ты переменную, куда записываешь текущее значение ячейки, сделай изначально не единицей, а rows * cows, и в змейке уменьшай значение на 1 в каждой последующей ячейке :) надеюсь тебе это еще нужно и ты не забросил программирование.