Главная страница
Навигация по странице:

  • условие + действие

  • 13

  • 0

  • 14

  • 1

  • 0 .Вернемся к циклу for

  • for

  • Основы питон. #инструкция объявляющая переменную var и присваивающая ей значение равное 5


    Скачать 262.43 Kb.
    Название#инструкция объявляющая переменную var и присваивающая ей значение равное 5
    АнкорОсновы питон
    Дата04.10.2022
    Размер262.43 Kb.
    Формат файлаdocx
    Имя файлаPR_1_Osnovy_Phyton.docx
    ТипДокументы
    #713574
    страница4 из 12
    1   2   3   4   5   6   7   8   9   ...   12

    Циклы


    Циклы ­– это специальные выражения, которые позволяют выполнять часть кода несколько раз, если оно того требует. Циклы очень полезны в программировании, поскольку это позволяет не прописывать вручную одну и ту же операцию несколько раз. Допустим нам надо вывести на экран 13 чисел от 1 до 13, как бы это выглядело без циклов:

    print(1)
    print(2)
    print(3)
    print(4)
    print(5)
    print(6)
    print(7)
    print(8)
    print(9)
    print(10)
    print(11)
    print(12)
    print(13)

    Согласитесь, утомительно. Давайте посмотрим далее что можно с этим сделать, применив циклы. В языке Python есть несколько видов циклических выражений.

    Цикл while


    Самый простой вид циклов, выполняет инструкцию в блоке до тех пор, пока условие не станет ложным.

    # создаем переменную, равную 1
    var = 1
    # прописываем цикл с условием - выполнять до тех пор, пока переменная
    # меньше или равна 13
    while var <= 13:
    # выводим значение переменной
        print(var)
    # увеличиваем переменную на 1
    var += 1

    Попробуйте выполнить пример выше и посмотрите что получится, можете не переписывать комментарии. Как видно из примера, у нас появляются вложенные инструкции, а значит их надо отделять пробелами.

    Памятка

    Необходимо всегда помнить, что при использовании цикла while, нужно следить за тем, чтобы было прописано условие выхода из цикла. Если бы в примере выше мы не увеличивали переменную var на 1, тогда цикл бы стал бесконечным, и программа бы выполнялось до тех пор, пока не закончится память компьютера.

    Давайте представим цикл while в виде блок схемы для наглядности: 



    Нажмите для увеличения изображения

    В нашем случае мы реализуем цикл while с помощью комбинации условие + действие. Действие будет повторяться до тех пор, пока не выполнится условие. Из схемы видно, что если мы уберем блок действия var=var+1 , то наше условие не будет выполнено никогда и цикл будет бесконечным.

    Цикл for


    Цикл for менее универсальный, но работает быстрее, чем цикл while. Он способен проходить по любому итерируемому объекту, будь то списки, словари, кортежи, строки и не требует ручного увеличения счетчика итераций:

    for i in [1, 2, 3, 4, 5 ,6 ,7 ,8 ,9 , 10, 11, 12, 13]:
        print(i)

    В примере выше написана программа с использованием цикла for. Мы указываем, что наша вложенная инструкция print(i) должна выполняться для каждого элемента из массива [1, 2, 3, 4, 5 ,6 ,7 ,8 ,9 , 10, 11, 12, 13]. То есть данный цикл описывает конструкцию:

    i =1

    print(i)
    i =2

    print(i)
    i =3

    print(i)
    ...
    i = 13
    print(i)

    В нашем примере все равно отсутствует элегантность, присущая языку Python. Давайте попробуем что-нибудь сделать с массивом из 13 чисел. Что если нам понадобится выводить 100 или 100000 чисел? Для этих целей применим функцию range(), которая поможет нам автоматически сгенерировать последовательность чисел.

    >>> var = range(1, 14)
    >>> print(var)
    range(1, 14)
    >>> print(var[0])
    1
    >>> print(var[1])
    2
    >>> print(var[12])
    13
    >>> print(var[14])
    Traceback (most recent call last):
      File "
    ", line 1, in
        print(var[14])
    IndexError: range object index out of range

    Мы присвоили переменной значение выражения range(1,14), после того, как мы решили вывести содержимое переменной var, обнаружилось, что в ней заложено это выражение - range(1, 14). Как говорилось ранее, range это особый тип, который содержит в себе последовательность данных. Чтобы это показать, выполним команду print(var[0]), которая выводит содержимое переменной, стоящей в 0 ячейке памяти. Ячейки памяти берут отсчет с 0, поэтому на 12 позиции будет храниться число 13, как видно из примера. Тем самым мы видим, что переменная var содержит в себе последовательность чисел от 1 до 13. Но как быть с 14 позицией, ведь в команде range() второй параметр у нас равен 14? Особенность range() состоит в том, что последнее число последовательности не включается в нее, то есть мы говорим, что нам надо сформировать последовательность чисел от 1 до 14, не включая 14. Функция range() работает так, потому что чаще всего используется для работы с  индексами, отсчет которых начинается с 0.

    Вернемся к циклу for. Теперь мы можем написать нашу программу максимально компактно:

    for i in range(1,14):
        print(i)

    В принципе, цикл for можно также изображать на блок-схемах, как и цикл while. Важно помнить, что увеличение счетчика и его начальное значение заложено внутри оператора for и его не надо прописывать отдельно.

    Оператор continue


    Оператор continue позволяет начать следующий проход цикла, минуя оставшиеся инструкции:

    for var in 'Python':
        if var == 'h':
            continue
        print(var)

    На примере выше мы перебираем последовательность символов и когда наша переменная хранит в себе символ 'h', мы используем оператор continue, чтобы пропустить дальнейшую инструкцию print(var).



    Нажмите, чтобы увеличить изображение

    На блок-схеме выше представлена ситуация, когда используется оператор continue. В текстовой сноске примерно описан вариант реализации цикла for. Основное, на что стоит обратить внимание, это красная линия, которая переводит на блок for без каких-либо действий.

    Оператор break


    Оператор break досрочно прерывает цикл. Повторите пример ниже и посмотрите, что получится.

    for var in 'Python':
        if var == 'h':
            break
        print(var)



    Нажмите, чтобы увеличить изображение

    В данном случае оператор break ведет нас сразу к окончанию работы цикла. При этом получается, что выход совершается экстренный, т.к. мы не переберем все элементы эталона, о чем говорит пунктирная стрелка.

    Оператор else


    Оператор else проверяет цикл на экстренный выход (break). Если экстренного выхода не было, т.е. оператор break не был выполнен, блок инструкций вложенный в оператор else - выполняется.

    for var in 'Python':
        if var == 'a':
    break

    else:
        print('Символа a нет в слове Python')

    Операторы continuebreak и else работают с циклами for и while.
    1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта