Подготовка к техническому собеседованию по Python — нелёгкая задача. На таком собеседовании вам, вполне возможно, встретятся задачи на вывод символов по заданным шаблонам. Если вы хотите научиться решать такие задачи — вам может пригодиться подборка способов их решения, приведённая в этом материале.

Здесь продемонстрировано 18 примеров кода. Начинающие программисты вполне могут проработать всё по порядку, а опытные могут разобраться именно с тем, что им нужно. Главное — понять, как устроен тот или иной пример. Отсутствие чёткого понимания того, что происходит в программах, способно сыграть злую шутку с тем, кто, например, заучив фрагмент кода и воспроизведя его на собеседовании, попытается объяснить то, как именно этот код работает. А тех, кто проводит собеседование, часто интересуют именно такие вот разъяснения.
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Желаемый результат:
Код:
Какие задачи вы посоветовали бы прорешать тем, кто готовится к собеседованию по Python?


Здесь продемонстрировано 18 примеров кода. Начинающие программисты вполне могут проработать всё по порядку, а опытные могут разобраться именно с тем, что им нужно. Главное — понять, как устроен тот или иной пример. Отсутствие чёткого понимания того, что происходит в программах, способно сыграть злую шутку с тем, кто, например, заучив фрагмент кода и воспроизведя его на собеседовании, попытается объяснить то, как именно этот код работает. А тех, кто проводит собеседование, часто интересуют именно такие вот разъяснения.
1. Простой числовой треугольник
Желаемый результат:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
Код:
rows = 6 for num in range(rows): for i in range(num): print(num, end=" ") # вывод числа # вывод пустой строки после каждой строки с числами для правильного отображения шаблона print(" ")
2. Обратный числовой треугольник
Желаемый результат:
1 1 1 1 1 2 2 2 2 3 3 3 4 4 5
Код:
rows = 5 b = 0 for i in range(rows, 0, -1): b += 1 for j in range(1, i + 1): print(b, end=' ') print('\r')
3. Полупирамида из чисел
Желаемый результат:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Код:
rows = 5 for row in range(1, rows+1): for column in range(1, row + 1): print(column, end=' ') print("")
4. Обратная пирамида из уменьшающихся чисел
Желаемый результат:
5 5 5 5 5 4 4 4 4 3 3 3 2 2 1
Код:
rows = 5 for i in range(rows, 0, -1): num = i for j in range(0, i): print(num, end=' ') print("\r")
5. Обратная пирамида, все элементы которой представлены одним и тем же числом
Желаемый результат:
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
Код:
rows = 5 num = rows for i in range(rows, 0, -1): for j in range(0, i): print(num, end=' ') print('\r')
6. Пирамида из чисел, расположенных в обратном порядке
Желаемый результат:
1 2 1 3 2 1 4 3 2 1 5 4 3 2 1
Код:
rows = 6 for row in range(1, rows): for column in range(row, 0, -1): print(column, end=' ') print("")
7. Обратная полупирамида из чисел
Желаемый результат:
0 1 2 3 4 5 0 1 2 3 4 0 1 2 3 0 1 2 0 1
Код:
rows = 5 for i in range(rows, 0, -1): for j in range(0, i + 1): print(j, end=' ') print('\r')
8. Пирамида из натуральных чисел меньше 10
Желаемый результат:
1 2 3 4 5 6 7 8 9
Код:
currentNumber = 1 stop = 2 rows = 3 # Количество строк, из которых состоит пирамида for i in range(rows): for column in range(1, stop): print(currentNumber, end=' ') currentNumber += 1 print("") stop += 2
9. Пирамида из чисел от 10, расположенных в обратном порядке
Желаемый результат:
1 3 2 6 5 4 10 9 8 7
Код:
start = 1 stop = 2 currentNumber = stop for row in range(2, 6): for col in range(start, stop): currentNumber -= 1 print(currentNumber, end=' ') print("") start = stop stop += row currentNumber = stop
10. Пирамида из определённых наборов цифр
Желаемый результат:
1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1
Код:
rows = 6 for i in range(1, rows + 1): for j in range(1, i - 1): print(j, end=" ") for j in range(i - 1, 0, -1): print(j, end=" ") print()
11. Обратная пирамида из связанных чисел
Желаемый результат:
5 4 3 2 1 1 2 3 4 5 5 4 3 2 2 3 4 5 5 4 3 3 4 5 5 4 4 5 5 5
Код:
rows = 6 for i in range(0, rows): for j in range(rows - 1, i, -1): print(j, '', end='') for l in range(i): print('', end='') for k in range(i + 1, rows): print(k, '', end='') print('\n')
12. Пирамида из чётных чисел
Желаемый результат:
10 10 8 10 8 6 10 8 6 4 10 8 6 4 2
Код:
rows = 5 LastEvenNumber = 2 * rows evenNumber = LastEvenNumber for i in range(1, rows+1): evenNumber = LastEvenNumber for j in range(i): print(evenNumber, end=' ') evenNumber -= 2 print("\r")
13. Пирамида из наборов чисел
Желаемый результат:
0 0 1 0 2 4 0 3 6 9 0 4 8 12 16 0 5 10 15 20 25 0 6 12 18 24 30 36
Код:
rows = 7 for i in range(0, rows): for j in range(0, i + 1): print(i * j, end=' ') print()
14. Пирамида, в каждой строке которой выводятся разные числа
Желаемый результат:
1 3 3 5 5 5 7 7 7 7 9 9 9 9 9
Код:
rows = 5 i = 1 while i <= rows: j = 1 while j <= i: print((i * 2 - 1), end=" ") j = j + 1 i = i + 1 print()
15. Зеркально отражённая пирамида из чисел (прямоугольный числовой треугольник)
Желаемый результат:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Код:
rows = 6 for row in range(1, rows): num = 1 for j in range(rows, 0, -1): if j > row: print(" ", end=' ') else: print(num, end=' ') num += 1 print("")
16. Равносторонний треугольник из символов *
Желаемый результат:
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
Код:
size = 7 m = (2 * size) - 2 for i in range(0, size): for j in range(0, m): print(end=" ") m = m - 1 # уменьшение m после каждого прохода цикла for j in range(0, i + 1): # вывод пирамиды из звёздочек print("*", end=' ') print(" ")
17. Перевёрнутый треугольник из символов *
Желаемый результат:
* * * * * * * * * * * * * * * * * * * * *
Код:
rows = 5 k = 2 * rows - 2 for i in range(rows, -1, -1): for j in range(k, 0, -1): print(end=" ") k = k + 1 for j in range(0, i + 1): print("*", end=" ") print("")
18. Пирамида из символов *
Желаемый результат:
* * * * * * * * * * * * * * *
Код:
rows = 5 for i in range(0, rows): for j in range(0, i + 1): print("*", end=' ') print("\r")
Какие задачи вы посоветовали бы прорешать тем, кто готовится к собеседованию по Python?

