| 
 11.1.2.7 использовать вложенные циклы при решении проблем 
11.1.2.6 выполнять отладку программы 
Python. Вложенные циклы 
Вложенный цикл - цикл который выполняется внутри другого цикла.  
Обычно вложенные циклы используются для работы с двумя измерениями, например, для печати звездочек в строках и столбцах, как показано ниже. 
  
При каждой итерации внешнего цикла внутренний цикл будет выполнен полностью. Внутренний цикл должен завершить все свои итерации, прежде чем внешний цикл сможет перейти к следующей итерации. 
Пример 
  
Вывод 
  
Трассировка вложенных циклов 
  
 
Задача 1. Вывести звёздочки в следующем виде. 
  
n = int(input()) 
m = int(input()) 
for i in range(n):  
    for j in range(m):   # вложенный цикл 
        print('*', end='') 
    print() 
 
Задача 2. Вывести в строку таблицу умножения числа n. (n < 10) 
k = int(input()) 
for i in range(1, 10): 
    print(i, '*', k, '=', k * i, sep='', end='\t') 
Ввод: 
5 
Вывод: 
1*5=5       2*5=10    3*5=15     4*5=20   5*5=25   6*5=30   7*5=35   8*5=40   9*5=45 
 
Задача 3. Вывести таблицу умножения по следующему шаблону. 
  
for i in range(1, 10):                      # начало внешнего цикла         
    for j in range(1, 10):                  # начало вложенного цикла 
        print(i, '*', j, '=', i * j, end='\t’) # вывод таблицы умножения 
    print()                                 # переход на новую строку 
Задача 3. Второй вариант решения 
i = 1               # инициализация параметра внешнего цикла 
while i < 10:       # условие внешнего цикла 
    j = 1           # инициализация параметра вложенного цикла 
    while j < 10:   # условие вложенного цикла  
        print(i, '*', j, '=', i * j, end='\t') # вывод 
        j += 1      # изменение параметра вложенного цикла 
    i += 1          # изменение параметра внешнего цикла 
    print()         # переход на новую строку 
 
Команды break и continue во вложенных циклах. 
while True:             # начало внешнего цикла 
    while True:         # начало вложенного цикла  
         if [condition]: 
            continue    # переход к следующей итерации во вложенном цикле 
         if [condition]: 
            break       # выход из вложенного цикла  
     if [condition]: 
        continue        # переход к следующей итерации во внешнем цикле 
    if [condition]: 
        break           # выход из внешнего цикла 
 
Вопросы: 
 - Какой цикл называется вложенным?
 
 
 
Упражнения: 
Упр. 1 Написать программу для вывода узора по образцу, используя вложенный цикл. 
Образец: 
  
Упр. 2 Совершенным числом называется целое положительное число, равное сумме своих положительных делителей, исключая само число. Например, 6 имеет делители 1, 2 и 3 (исключая само себя), а 1 + 2 + 3 = 6, поэтому 6 — совершенное число. 
Напишите программу, которая выводит все совершенные числа от 1 до 100. 
    |