Здесь продемонстрировано 18 примеров кода. Начинающие программисты вполне могут проработать всё по порядку, а опытные могут разобраться именно с тем, что им нужно. Главное понять, как устроен тот или иной пример. Отсутствие чёткого понимания того, что происходит в программах, способно сыграть злую шутку с тем, кто, например, заучив фрагмент кода и воспроизведя его на собеседовании, попытается объяснить то, как именно этот код работает. А тех, кто проводит собеседование, часто интересуют именно такие вот разъяснения.
1. Простой числовой треугольник
Желаемый результат:
12 23 3 34 4 4 45 5 5 5 5
Код:
rows = 6for 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 = 5b = 0for i in range(rows, 0, -1):b += 1for j in range(1, i + 1):print(b, end=' ')print('\r')
3. Полупирамида из чисел
Желаемый результат:
11 21 2 31 2 3 41 2 3 4 5
Код:
rows = 5for 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 = 5for i in range(rows, 0, -1):num = ifor 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 = 5num = rowsfor i in range(rows, 0, -1):for j in range(0, i):print(num, end=' ')print('\r')
6. Пирамида из чисел, расположенных в обратном порядке
Желаемый результат:
12 13 2 14 3 2 15 4 3 2 1
Код:
rows = 6for 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 = 5for i in range(rows, 0, -1):for j in range(0, i + 1):print(j, end=' ')print('\r')
8. Пирамида из натуральных чисел меньше 10
Желаемый результат:
12 3 45 6 7 8 9
Код:
currentNumber = 1stop = 2rows = 3 # Количество строк, из которых состоит пирамидаfor i in range(rows):for column in range(1, stop):print(currentNumber, end=' ')currentNumber += 1print("")stop += 2
9. Пирамида из чисел от 10, расположенных в обратном порядке
Желаемый результат:
13 26 5 410 9 8 7
Код:
start = 1stop = 2currentNumber = stopfor row in range(2, 6):for col in range(start, stop):currentNumber -= 1print(currentNumber, end=' ')print("")start = stopstop += rowcurrentNumber = stop
10. Пирамида из определённых наборов цифр
Желаемый результат:
11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 1
Код:
rows = 6for 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 55 4 3 2 2 3 4 55 4 3 3 4 55 4 4 55 5
Код:
rows = 6for 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 = 5LastEvenNumber = 2 * rowsevenNumber = LastEvenNumberfor i in range(1, rows+1):evenNumber = LastEvenNumberfor j in range(i):print(evenNumber, end=' ')evenNumber -= 2print("\r")
13. Пирамида из наборов чисел
Желаемый результат:
00 10 2 40 3 6 90 4 8 12 160 5 10 15 20 250 6 12 18 24 30 36
Код:
rows = 7for i in range(0, rows):for j in range(0, i + 1):print(i * j, end=' ')print()
14. Пирамида, в каждой строке которой выводятся разные числа
Желаемый результат:
13 35 5 57 7 7 79 9 9 9 9
Код:
rows = 5i = 1while i <= rows:j = 1while j <= i:print((i * 2 - 1), end=" ")j = j + 1i = i + 1print()
15. Зеркально отражённая пирамида из чисел (прямоугольный числовой треугольник)
Желаемый результат:
11 21 2 31 2 3 41 2 3 4 5
Код:
rows = 6for row in range(1, rows):num = 1for j in range(rows, 0, -1):if j > row:print(" ", end=' ')else:print(num, end=' ')num += 1print("")
16. Равносторонний треугольник из символов *
Желаемый результат:
** ** * ** * * ** * * * ** * * * * ** * * * * * *
Код:
size = 7m = (2 * size) - 2for 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 = 5k = 2 * rows - 2for i in range(rows, -1, -1):for j in range(k, 0, -1):print(end=" ")k = k + 1for j in range(0, i + 1):print("*", end=" ")print("")
18. Пирамида из символов *
Желаемый результат:
** ** * ** * * ** * * * *
Код:
rows = 5for i in range(0, rows):for j in range(0, i + 1):print("*", end=' ')print("\r")
Какие задачи вы посоветовали бы прорешать тем, кто готовится к собеседованию по Python?