[МУЗЫКА] Рассмотрим, как можно использовать цикл while при вводе с клавиатуры. Рассмотрим пример и потом его реализацию в PYTHONе. Начнем с примера. Пример такой: пользователь вводит целые числа, а мы должны сказать сумму всех введенных чисел. Когда пользователь закончит ввод, он введет ноль. Так мы поймем, что ввод закончен, и можно выводить сумму на экран, сумму всех тех чисел, которые пользователь успел ввести, прежде, чем ввел ноль. Составим алгоритм. Зададим начальное значение суммы. Как вы думаете, какое это будет значение? Конечно, это будет ноль. Сначала сумма у нас будет равна нулю. Это наше начальное значение. Потом считаем введенное число, — пользователь что-то ввел, мы это число считываем. И пока введенное число не равно нулю, то есть пользователь ввел что-то, мы смотрим, равно это число нулю или нет. И если не равно, то увеличиваем сумму на это число. Ну почему мы сказали "пока введенное число не равно нулю"? Потому что, когда он ввел одно, он потом введет другое. Мы считываем следующее число и смотрим, равно оно нулю или нет. В цикле повторяем операции, увеличиваем сумму на то число, которое введет пользователь до тех пор, пока пользователь не введет ноль. Но с точки зрения алгоритма, мы можем сказать, что именно пока введенное число не равно нулю, понимая, что введенное число — это значение переменной. А потом, когда уже пользователь введет ноль, то есть значение этой переменной станет ноль, мы выходим из цикла и выведем сумму на экран. Давайте по алгоритму составим блок-схему. Сначала задаем начальное значение суммы, — мы уже обсудили, что это будет ноль. Вначале сумма у нас нулевая. Потом считываем число. Если число не равно нулю, то будем выполнять инструкции. Пока число не равно нулю, мы будем продолжать выполнять эти инструкции. Пока число не равно нулю, увеличиваем сумму и считываем следующее число, а как только пользователь введет ноль, мы выведем сумму на экран, и на этом программа закончит свою работу. Теперь можем реализовать этот алгоритм в PYTHONе. Переведем в код. Можем смотреть на алгоритм, можем смотреть на блок- схему, — и то, и другое вместе поможет нам написать код. Задаем начальное значение суммы. Пусть это будет переменное amount и amount вначале равно нулю. Теперь мы хотим считать введенное число. Пусть это будет число, мы будем его хранить в переменной number. Пользователь нам введет число, но мы его сначала считываем в виде строки. А потом преобразуем в число с помощью функции int. Пока введенное число не равно нулю. На самом деле пока, while, значение переменной number не равно нулю, помним знак, восклицательный знак, — это и есть не равно нулю, увеличиваем сумму на это число. Можем записать amount плюс равно number, — помним эту короткую запись, да? Это то же самое, что amount равно amount плюс number. И потом считываем следующее число, то есть меняем значение переменной number на новый вариант, который введет пользователь. А в конце выводим сумму на экран и делаем принт amount. И вот здесь видно, что мы каждый раз смотрим на значение переменной number. Чтобы пользователь знал, что мы хотим, чтобы он ввел, мы должны написать какие-то инструкции. Вначале хорошо бы сказать пользователю, что вообще от него требуется, А потом уже сделать все, что требуется от нас, как от программы, и в конце дать какое-то пояснение к выводу, что что это за принт. Это, что это за число мы вывели? Это сумма всех чисел, которые ввел пользователь. Давайте напишем этот код вручную. [МУЗЫКА]