Как и в случае с двумерным массивом, представленным в виде сложного списка, многомерный массив реализуется по принципу «списков внутри списка». Следующий пример наглядно демонстрирует создание трехмерного списка, который заполняется нулевыми элементами при помощи трех циклов for. Таким образом, программа создает матрицу с размерностью 5×5×5.
d1 = []
for k in range(5):
d2 = []
for j in range(5):
d3 = []
for i in range(5):
d3.append(0)
d2.append(d3)
d1.append(d3)
Аналогично двумерному массиву, обратиться к ячейке построенного выше объекта можно с помощью индексов в квадратных скобках, например, d1[4][2][3].
Самостоятельная работа
Задание №3 Самостоятельная работа
Задание №2
4- Условия и циклы
По умолчанию любые программы выполняют все команды подряд, от первой строки до последнего оператора. Но есть ситуации, когда необходимо проверить какое-то условие, и в зависимости от того, правдиво оно или нет, выполнить разные действия. Кроме того, часто возникает необходимость много раз повторить практически одинаковую последовательность команд. В первой ситуации помогают операторы, обеспечивающие выполнение различных фрагментов программы по результатам соблюдения или несоблюдения некоторого условия, а во второй организация многократно повторяющихся действий.
Условия
Условия (или структуры принятия решений) нужны для того, чтобы выполнить два разных набора действий в зависимости от того, истинно или ложно проверяемое утверждение (рис. 2.37).
В Python условия можно записывать с помощью инструкции if: if: <проrраммый_ код_ 1> else: <проrраммый_ к:04.._ 2> Пусть у нас есть некоторая переменная х, которой в ходе работы программы было присвоено некоторое значение. Если х меньше 1 О, то мы делим его на 2. Если же х больше или равно 1 О, то мы умножаем его на 2. В листинге 2.1 О показано, как будет выглядеть программный код при х=В
х = 8
if (х < 10):
х = х / 2
else:
х = х * 2
print(x)
А результатом работы программы будет значение х=4. Теперь изменим данный программный код и зададим значение х=12
х = 12
if (х < 10):
х = х / 2
else:
х = х * 2
print(x)
В этом случае результатом работы программы будет значение х=24. Разберем этот программный код. После создания переменной х и присвоения ей некоторого значения записывается условие. Начинается все с ключевого слова if (в переводе с английского "если"). В скобках мы указываем проверяемое выражение. В данном случае мы проверяем, действительно ли наша переменная х меньше 10. Если она меньше 10, то мы делим ее на 2. Затем идет ключевое слово else, после которого начинается блок действий, которые будут выполнены, если выра жение в скобках после if ложное. Если значение переменной х больше или равно 1 О, то мы делим эту переменную на 2. Последним оператором выводим значение х в консоль.
Циклы
Циклы нужны для многократного повторения действий. Предположим, мы хотим вывести таблицу квадратов первых 1 О натуральных чисел. Это можно сделать так, как представлено
Здесь в каждой строке программного кода мы формируем текстовую строку "Квадрат ... равен" и добавляем к ней знаком+ новую строку- str(1**2). Здесь используется функция преобразования чисел в текстовую информацию - str. В скобках данной функции возводим число в квадрат. И таких строк у нас 10. Если мы запустим данную программу на выполнение, то.получим следующий результат (рис. 2.38). А что, если нам надо вывести квадраты первых 100 или 1 ООО чисел? Неужели нужно будет писать 100 или даже 1000 строк программного кода. Совсем нет, именно для таких случаев и существуют циклы. Всего в Python два вида циклов: while и for. Разберемся с ними по очереди. Цикл while повторяет необходимые команды до тех пор, пока не остается истинным некоторое условие. В листинге 2.13 показано, как тот же самый программный код будет выглядеть с использованием циклов.
х = 1
while х <= 100:
print ( "Квадрат числа " + str (х) + " равен " + str (х**2))
Цикл for: предназначен для того, чтобы перебирать массивы. Запишем тот же пример с формированием таблицы квадратов первой сотни натуральных чисел, но уже через цикл for
for х in range(l, 101):
print(11Kвaдpaт числа 11 + str(x) + 11 равен " + str(x**2))
Разберем первую строку. Мы используем ключевое слово for для создания цикла.· Далее мы указываем, что хотим повторить определенные действия для всех х' в диапазоне от 1 до 100. Функция range (1, 101) создает массив из 100 чисел, начиная с 1 и заканчивая 100.
Do'stlaringiz bilan baham: |