Задача на вложенные циклы с решением и его разбором. Python для начинающих
Циклы – один из важнейших инструментов разработчика. Поэтому понимание алгоритма их работы – это важное звено в цепочке знаний, которое ни в коем случае не должно быть слабым.
Поэтому практически во всех обучающих материалах по программированию большое внимание уделяется решению даже простых задач с применением циклов.
Сегодня займемся решением типовых задач, которые не столько сложны, сколько помогают понять механизм работы циклов.
Ну и конечно, задачи эти для начинающих разработчиков и решаются соответствующими методами.
Изображение TanTanika с сайта Pixabay
Задача 1. Диагональ
Пользователь вводит число, которое обозначает размер квадратной матрицы.
Матрицу нужно заполнить следующим образом:
По диагонали от верхнего левого угла к нижнему правому в матрице находятся цифры "2", ниже этой диагонли "3", а выше "1".
Вывести соответствующую матрицу на экран.
Решение:
Изображение автора
Логика решения довольно проста. Организуем вложенный цикл, внешний из которых "отвечает" за номера строк, а внутренний, соответственно, за номера колонок матрицы.
Для начала определим, каким условиям соответствует диагональ, в которую нужно вписать двойки.
Хорошо видно, что номер колонки элемента этой диагонали по всей ее длине равен номеру строки.
И уже отталкиваясь от этого приходим к выводу, что в секторе "выше", который нам нужно заполнить единицами, номер колонки больше, чем номер строки, а в нижнем секторе наоборот, номер колонки меньше нежели номер строки.
Полученные выводы (их важно действительно понять) просто записываем во внутренний цикл в виде конструкции if – elif – else не забывая указать в print() параметр end=' ' для предосвращения переноса строки при каждой итерации.
А вот перед переходом к следующей итерации внешнего цикла наоборот, нужно перенести строку, так как выводиться начнет новая.
(Изображение для мобильной версии didssph с сайта Pixabay)
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Нет комментариев