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

  • Предупреждение

  • Справочник Puthon. Операторы Python книга. Статья в разработке


    Скачать 132.29 Kb.
    НазваниеСтатья в разработке
    АнкорСправочник Puthon
    Дата06.12.2022
    Размер132.29 Kb.
    Формат файлаdocx
    Имя файлаОператоры Python книга.docx
    ТипСтатья
    #830403
    страница3 из 4
    1   2   3   4

    2.2. Управляющие операторы

    2.2.1. Условные операторы (if/else)


    Оператор if используется для проверки условий: если условие верно, выполняется блок выражений (называемый “if-блок”), иначе выполняется другой блок выражений (называемый “else-блок”). Блок “else” является необязательным.

    Предупреждение

    В языке Python блоки разедяются табами или пробелами

    Запомните эмпирическое правило: хотя вы можете использовать для отступов пробелы или табуляции, их смешивание внутри блока обычно не будет удачной иде­ей применяйте либо то, либо другое. Формально табуляция считается достаточным количеством пробелов, чтобы сместить текущую строку на расстояние, кратное 8, и код будет работать в случае согласованного смешивания табуляций и пробелов. Тем не менее, такой код может быть сложнее изменять. Хуже того, смешивание табуляций и пробелов затрудняет чтение кода целиком, не говоря уже о правилах синтаксиса Python — табуляции в редакторе сменившего вас программиста могут выглядеть сов­ сем не так, как в вашем редакторе.

    Пример использования оператора if

    number = 23

    guess = int(input('Введите целое число : '))
    if guess == number:

    print('Поздравляю, вы угадали,') # Здесь начинается новый блок

    print('(хотя и не выиграли никакого приза!)') # Здесь заканчивается новый блок

    elif guess < number:

    print('Нет, загаданное число немного больше этого.') # Ещё один блок

    # Внутри блока вы можете выполнять всё, что угодно ...

    else:

    print('Нет, загаданное число немного меньше этого.')

    # чтобы попасть сюда, guess должно быть больше, чем number
    print('Завершено')

    # Это последнее выражение выполняется всегда после выполнения оператора if

    2.2.2. Оператор while


    Оператор while — самая универсальная конструкция для итераций в языке Python. Выражаясь простыми терминами, он многократно выполняет блок операторов (обыч­ но с отступом) до тех пор, пока проверка в заголовочной части оценивается как истин­ ное значение. Это называется “циклом”, потому что управление продолжает возвра­ щаться к началу оператора, пока проверка не даст ложное значение. Когда результат проверки становится ложным, управление переходит на оператор, следующий после блока while. Совокупный эффект в том, что тело цикла выполняется многократно, пока проверка в заголовочной части дает истинное значение. Если проверка оцени­ вается в ложное значение с самого начала, тогда тело цикла никогда не выполнится и оператор while пропускается.

    В своей самой сложной форме оператор while состоит из строки заголовка с вы­ ражением проверки, тела с одним или большим количеством оператором с отступами и необязательной части else, которая выполняется, если управление покидает цикл, а оператор break не встретился. Python продолжает оценивать выражение проверки в строке заголовка и выполняет операторы, вложенные в тело цикла, пока проверка не возвратит ложное значение:

    number = 23

    running = True
    while running:

    guess = int(input('Введите целое число : '))
    if guess == number:

    print('Поздравляю, вы угадали.')

    running = False # это останавливает цикл while

    elif guess < number:

    print('Нет, загаданное число немного больше этого.')

    else:

    print('Нет, загаданное число немного меньше этого.')

    else:

    print('Цикл while закончен.')

    # Здесь можете выполнить всё что вам ещё нужно
    print('Завершение.')

    2.2.3. Цикл for


    Оператор for..in также является оператором цикла, который осуществляет итерацию по последовательности объектов, т.е. проходит через каждый элемент в последовательности. Мы узнаем больше о последовательностях в дальнейших главах, а пока просто запомните, что последовательность – это упорядоченный набор элементов.

    #Расмотрим несколько примеров
    for х in ["spam", "eggs", "ham"]:

    print(x, end=' ')

    #результатом этого цикла будет строка spam eggs ham

    Примечание

    оратите мнимание на параметр end=“ „, по умолчанию фукция print() завершает вывод символом конца строки «n», в случае с end=“ „ мы меняем его на пробел. Таким обазом мы выведем сообщения на экран в строку.

    for i in range(1, 5):

    print(i)

    else:

    print('Цикл for закончен')

    2.2.3.1. Вложенные циклы for


    Давайте теперь взглянем на цикл for, который сложнее тех, что мы видели до сих пор. В приведенном ниже примере иллюстрируется вложение операторов и конструк­ ция else цикла for. Имея список объектов (items) и список ключей (tests), код ищет каждый ключ в списке объектов и сообщает о результате поиска:

    items = ["ааа", 111, (4, 5), 2.01]

    tests = [(4, 5) , 3.14]
    for key in tests:

    for item in items:

    if item — key:

    print (key, ’’was found”)

    break

    else:

    print(key, "not found!")

    2.2.4. Оператор break


    Оператор break служит для прерывания[7] цикла, т.е. остановки выполнения команд даже если условие выполнения цикла ещё не приняло значения False или последовательность элементов не закончилась.

    Важно отметить, что если циклы for или while прервать оператором break, соответствующие им блоки else выполняться не будут.

    while True:

    s = input('Введите что-нибудь : ')

    if s == 'выход':

    break

    print('Длина строки:', len(s))

    print('Завершение')

    2.2.5. Оператор continue


    Оператор continue используется для указания Python, что необходимо пропустить все оставшиеся команды в текущем блоке цикла и продолжить[9] со следующей итерации цикла.

    while True:

    s = input('Введите что-нибудь : ')

    if s == 'выход':

    break

    if len(s) < 3:

    print('Слишком мало')

    continue

    print('Введённая строка достаточной длины')

    # Разные другие действия здесь...

    Ну и в качестве маленького примера давайте нарисуем в консоли Ёлочку :)

    #!/usr/bin/env python3

    # -*- coding: utf-8 -*-

    '''программа рисует в консоли елочку'''

    ''' *

    ***

    *****

    *******

    *********

    ***********

    '''
    #Пример - 1

    for i in range(1, 20, 2): #функция range() указывает начальное значение, конечное значение и шаг.

    print('{:^20}'.format('*' * i)) # Печатаем символ выравнивая его по центру


    #Пример -2

    SPACE = ' '

    STRAR = '*'
    rows = int(input('Укажите размер ёлочки: '))

    spaces = rows-1

    stars = 1
    for i in range(rows):

    print(

    (SPACE*spaces) +

    (STRAR*stars) +

    (SPACE*spaces)

    )

    stars += 2

    spaces -= 1
    1   2   3   4


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