Задачи, часть 2. Псевдографика
Немного терминологии сначала.
- строки
str
(по-английски string) — это тип данных в Python, который хранит последовательности символов. - строки текста (по-английски line) — это внутри текстов. Например, на странице книги может быть 40 строк текста.
По-английски строки текста (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"
.
- Дано n (как аргумент вашей функции). Нарисуйте квадратик из букв
x
размера \(n\times n\). тесты -
Нарисуйте “треугольник”. У него в первой строке одна буква
x
, во второй – две, и т.д. до \(n\), которое дано в качестве аргумента тесты.x xx xxx xxxx xxxxx
-
Аналогично предыдущему, но только треугольник нужно перевернуть тесты:
xxxxx xxxx xxx xx x
-
Аналогично предыдущему, но надо снова перевернуть треугольник. Пустое место заполните пробелами тесты:
x xx xxx xxxx xxxxx
-
Дано n, нарисуйте шахматную доску из 1 и 0 размера \(n\times n\). Например, при n = 7 тесты:
1010101 0101010 1010101 0101010 1010101 0101010 1010101
-
Даны 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
- Напечатайте на экране таблицу размера 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 получится таблица
┌─┬─┬─┐ │ │ │ │ ├─┼─┼─┤ │ │ │ │ └─┴─┴─┘