Python. Цикл WHILE (Ru)

11.1.2.1 писать программный код, используя цикл While
11.1.2.2 программировать циклический алгоритм в соответствии с блок-схемой

Python. Цикл WHILE

Почему нам нужны циклы?

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

Цикл - алгоритмическая структура, которая выполняет последовательность инструкций несколько раз.

Цикл WHILE

Рассмотрим использование цикла while. Команда while (рус. "пока") проверяет условие и выполняет некоторые действия (тело цикла) пока условие истинно.

Цикл с предусловием имеет следующую структуру:

while [условие]: # проверка условия цикла
 действие1 # тело цикла (повторяющиеся действия)
 действие2 # выполняется пока условие выполняется
 ... # каждая строка тела цикла имеет отступ в 4 пробела
 действиеN

По правилам языка Python, тело цикла смещено вправо от заголовка цикла.

Также нужно знать следующие понятия: 

  1. Тело цикла - последовательность кода, которую необходимо выполнить несколько раз.
  2. Одно выполнение тела цикла называется итерацией.

Особенности цикла while

  • Цикл while используется, когда количество повторений цикла заранее неизвестно и не может быть рассчитано.
  • Цикл while состоит из заголовка и тела цикла.
  • В заголовке после слова while в скобках пишется условие, при котором цикл продолжает выполняться. Когда это условие становится ложным, цикл завершается.
  • В условии можно использовать логические операторы.
  • Если первоначально условие цикла ложное, то цикл не выполнится ни разу.
  • Если условие никогда не станет ложным, то цикл никогда не закончится выполняться. В таком случае цикл называют "бесконечным циклом" ("infinite loop").
  • Любое число неравное нулю обозначает истинное условие, а ноль - ложное:
while True: # бесконечный цикл
 ...
while False: # цикл, который не выполнется ни разу
 ...

Задача 1 . Напишите программу, которая запрашивает пароль до тех пор, пока не будет введено "qwerty".

Если невозможно заранее сказать, сколько раз нужно выполнить операцию, но можно определить условие, при котором она должна закончиться.

В этой программе пользователь может ввести пароль неправильно; затем программа сообщит об ошибке и снова запросит его, пока не будет введен правильный пароль.

Чтобы решить эту проблему, мы должны использовать условие цикла для проверки пароля после каждого ввода. Для этого пароль будет вводиться в начале программы и внутри цикла.

print("Введите пароль:")
password = input () # ввод пароля первый раз
while password! = "qwerty": # проверка условия цикла
    print ("Некорректный пароль!")
    print ("Введите пароль:")
    password = input () # ввод другого пароля
print ("Добро пожаловать!") # вывод текста, когда введен пароль "qwerty"


Рассмотрим другое использование цикла while.

Задача 2. Вычислите сумму последовательности 1 + 3 + 5 + ... + n.

В этой задаче можно использовать цикл для вычисления суммы. В этой последовательности можно заметить, что каждое следующее слагаемое увеличивается на 2. Обозначим слагаемое переменной i и будем менять его в цикле. Начальное значение переменной i равно 1, конечное значение равно n.

Для расчета суммы воспользуемся формулами: 

sum += i
i += 2

summa = 0 # инициализация значения суммы
i = 1 # инициализация первого слагаемого (параметр цикла)
n = int(input ()) # ввод последнего значения
while i <= n: # условие цикла i <= n
    summa += i # увеличение суммы на текущее слагаемое
    i += 2 # получение следующего слагаемого, увеличение на 2
print(summa) # вывод значения суммы после окончания цикла


Вопросы:

  1. Что такое цикл?
  2. В каких случаях применяют циклический алгоритм?
  3. Объясните выполнение цикла While.

Упражнения:


Задачи:

Задача 1. "Числа до нуля"

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

Задача 2. "Скажи пароль"

Напишите программу, в которой пользователь вводит пароль до тех пор, пока он не окажется "123". При неверно введённом пароле выводится текст "Неверный пароль", при вводе верного пароля  выводится текст "Верный пароль". 

Задача 3. "Стоимость покупки"

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

Категория: Algorithms | Добавил: bzfar77 (09.04.2022)
Просмотров: 4062 | Теги: итератор, цикл, Python, тело цикла, While | Рейтинг: 2.8/9
Всего комментариев: 0
avatar