Задачи, часть 2. Псевдографика

Немного терминологии сначала.

По-английски строки текста (line) и строки как последовательности символов (string) называются разными словами. А у нас — одинаковыми. Поэтому не запутайтесь, пожалуйста, в условиях следующих задач.

В следующих задачах требуется создать строку (str), которая при распечатке отображает на экране указанный в условии рисунок. Вам придется пользоваться символом перевода строки ‘\n’, чтобы при распечатке строки отображалось несколько строк. Например, если в задаче сказано, нарисуйте квадратик 3 на 3 из символов x, ваша программа должна сделать что-то наподобие следующего:

def example():
    s = "xxx\n"
    s += "xxx\n"  # оператор += эквивалентен в данном случае s = s + "xxx\n"
    s += "xxx\n"
    # или можно было сразу присвоить s = "xxx\nxxx\nxxx\n" 
    return s
    
print(example())  # тестируем результат

Здесь мы создали строку (тип str) s, внутри которой три видимых строки текста.

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

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

Напоминание. Строки можно умножать: "abc" * 4 — это "abcabcabcabc".

  1. Дано n (как аргумент вашей функции). Нарисуйте квадратик из букв x размера \(n\times n\). тесты
  2. Нарисуйте “треугольник”. У него в первой строке одна буква x, во второй – две, и т.д. до \(n\), которое дано в качестве аргумента тесты.

     x
     xx
     xxx
     xxxx
     xxxxx
    
  3. Аналогично предыдущему, но только треугольник нужно перевернуть тесты:

     xxxxx
     xxxx
     xxx
     xx
     x
    
  4. Аналогично предыдущему, но надо снова перевернуть треугольник. Пустое место заполните пробелами тесты:

           x
          xx
         xxx
        xxxx
       xxxxx
    
  5. Дано n, нарисуйте шахматную доску из 1 и 0 размера \(n\times n\). Например, при n = 7 тесты:

     1010101
     0101010
     1010101
     0101010
     1010101
     0101010
     1010101
    
  6. Даны n и k, нарисуйте шахматную доску размера \(n\times n\) из 1 и 0 с клетками размера размера \(k\times k\). тестыНапример, при n = 4, k = 3:

     111000111000
     111000111000
     111000111000
     000111000111
     000111000111
     000111000111
     111000111000
     111000111000
     111000111000
     000111000111
     000111000111
     000111000111
    
  7. Напечатайте на экране таблицу размера m на n, используя полный набор символов псевдографики. Это символы └, ├ и другие. Вводите эти символы с помощью \u нотации. Ниже перечислены все необходимые символы и соответствующие им коды. Не выводите лишние пробелы, на картинке они даны только для наглядности. тесты
         ┌ ─ ┬ ─ ┐ \u250C \u2500 \u252C \u2500 \u2510
    
         │   │   │         3 раза \u2502
    
         ├ ─ ┼ ─ ┤ \u251C \u2500 \u253C \u2500 \u2524
    
         │   │   │         3 раза \u2502
    
         └ ─ ┴ ─ ┘ \u2514 \u2500 \u2534 \u2500 \u2518
    

    Например, для m = 2, n = 3 получится таблица

         ┌─┬─┬─┐
         │ │ │ │
         ├─┼─┼─┤
         │ │ │ │
         └─┴─┴─┘