Задачи, часть 2. Псевдографика
В следующих задачах нужно вывести несколько строчек символов. Для каждой задачи создайте функцию, кторая возвращает один String, содержащий сразу несколько строк, в конце каждой строки нужно поместить символ перевода строки \n
. Например, если в задаче сказано, нарисуйте квадратик 3 на 3 из символов x, ваша программа должна сделать
что-то наподобие следующего:
def example():
s = "xxx\n"
s += "xxx\n" # оператор += эквивалентен в данном случае s = s + "xxx\n"
s += "xxx\n"
return s
print(example()) # тестируем результат
Обратите внимание, что в конце рисунка выводится символ перевода строки.
В качестве дополнительного задания, попытайтесь в каждой задаче придумать короткое и красивое решение. Особенно это актуально в последних задачах. Красивое решение должно хорошо читаться и не иметь дублирований кода, т.е. вы должны избегать повторения в коде одинаковых или очень похожих действий.
- Дано 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 получится таблица
┌─┬─┬─┐ │ │ │ │ ├─┼─┼─┤ │ │ │ │ └─┴─┴─┘