Вложенные циклы — это циклы, расположенные один внутри другого. Они используются для работы с двумерными структурами данных, создания таблиц и паттернов.
В этом уроке мы научимся использовать вложенные циклы для решения различных задач.
for i in range(3):
for j in range(2):
print(f"i={i}, j={j}")
# Вывод:
# i=0, j=0
# i=0, j=1
# i=1, j=0
# i=1, j=1
# i=2, j=0
# i=2, j=1for i in range(1, 6):
for j in range(1, 6):
print(f"{i}*{j}={i*j:2}", end=" ")
print() # переход на новую строку
# Вывод:
# 1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5
rows = 3
cols = 5
for i in range(rows):
for j in range(cols):
print("*", end="")
print()
# Вывод:
# *****
# *****
# *****n = 5
for i in range(1, n + 1):
for j in range(i):
print("*", end="")
print()
# Вывод:
# *
# **
# ***
# ****
# *****n = 5
for i in range(n, 0, -1):
for j in range(i):
print("*", end="")
print()
# Вывод:
# *****
# ****
# ***
# **
# *breakbreak во вложенном цикле прерывает только внутренний цикл.
for i in range(3):
for j in range(5):
if j == 2:
break
print(f"i={i}, j={j}")
# Вывод:
# i=0, j=0
# i=0, j=1
# i=1, j=0
# i=1, j=1
# i=2, j=0
# i=2, j=1Что выведет данный код? Сколько раз выполнится print?
for i in range(2):
for j in range(3):
print("*", end="")
print()Выведи квадрат 4×4 из символа #.
for i in range(4):
for j in range(4):
print("#", end="")
print()Выведи треугольник из цифр:
1
12
123
1234
12345
for i in range(1, 6):
for j in range(1, i + 1):
print(j, end="")
print()Выведи таблицу умножения на 7 (от 1 до 10).
for i in range(1, 11):
print(f"7 * {i} = {7 * i}")Найди все пары чисел (a, b), где a от 1 до 3 и b от 1 до 3, такие что a + b = 4.
for a in range(1, 4):
for b in range(1, 4):
if a + b == 4:
print(f"({a}, {b})")
# Вывод:
# (1, 3)
# (2, 2)
# (3, 1)На этом уроке мы научились использовать вложенные циклы для создания таблиц, паттернов и решения задач, требующих перебора комбинаций.
print() для перехода на новую строку — программа завершится ошибкой или даст неверный результат.break прервёт оба цикла (он прерывает только внутренний) — программа завершится ошибкой или даст неверный результат.Выведи прямоугольник 5×8 из символа *.
Выведи таблицу 5×5, где в каждой ячейке — номер ячейки (от 1 до 25).
Выведи такой паттерн:
1
22
333
4444
55555
Выведи «шахматную доску» 8×8 из символов # и ..
#.#.#.#.
.#.#.#.#
#.#.#.#.
...
Выведи пирамиду из звёздочек высотой n:
*
***
*****
*******
*********
Выведи таблицу умножения 10×10: первая строка и столбец — множители 1–10, в ячейках — произведения.
Считай число n (от 1 до 9). Выведи ромб из цифр: сверху вниз 1, 12, 123... до n, затем вниз. Например для n=3:
1
121
12321
121
1