Перейти к содержимому

Как сделать бесконечный цикл в python

  • автор:

Как создать бесконечный цикл в бесконечном цикле на Python

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

 while True: print("Введите 'Добавить' чтобы добавить два числа") user_input = input(": ") if user_input == "Добавить" or "добавить": while True: numb1 = float(input("Введите первое число: ")) numb2 = float(input("Введите второе число: ")) print(str(numb1), str(numb2)) 

Отслеживать
4,507 2 2 золотых знака 9 9 серебряных знаков 28 28 бронзовых знаков
задан 27 апр 2020 в 18:29
1 1 1 золотой знак 1 1 серебряный знак 2 2 бронзовых знака

Исключений, может, и нет. А вот ошибка как раз есть. Условие if user_input == «Добавить» or «добавить»: всегда истинно.

27 апр 2020 в 18:34

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

>>> while True: . print("Введите 'Добавить' чтобы добавить два числа") . user_input = input(": ") . if user_input.lower() == "добавить": . while True: . numb1 = float(input("Введите первое число: ")) . numb2 = float(input("Введите второе число: ")) . print(str(numb1), str(numb2)) . Введите 'Добавить' чтобы добавить два числа : добавить Введите первое число: 10 Введите второе число: 5 10.0 5.0 Введите первое число: 15 Введите второе число: 3 15.0 3.0 Введите первое число: 123 Введите второе число: 10 123.0 10.0 Введите первое число: 

Программа точно следует логике, которую вы в неё заложили, если исправить неправильно составленное условие.
То, что идёт после цикла, не пропускается — до него попросту не доходит очередь. Если вам нужно, чтобы после цикла выполнялся ещё какой-либо код, имеет смысл сделать выход из цикла:

>>> while True: . print("Введите 'Добавить' чтобы добавить два числа") . user_input = input(": ") . if user_input.lower() == "добавить": . while True: . numb1 = float(input("Введите первое число: ")) . numb2 = float(input("Введите второе число: ")) . print(str(numb1), str(numb2)) . if numb1 == numb2: # условие, при котором цикл заканчивается. Я использовал условие равенства двух чисел, у вас оно может быть другим . break . print('***** Бесконечный цикл закончен, код дальше выполняется') . Введите 'Добавить' чтобы добавить два числа : добавить Введите первое число: 3 Введите второе число: 2 3.0 2.0 Введите первое число: 3 Введите второе число: 5 3.0 5.0 Введите первое число: 5 Введите второе число: 5 5.0 5.0 ***** Бесконечный цикл закончен, код дальше выполняется Введите 'Добавить' чтобы добавить два числа : 

Что касательно ошибки в вашем коде:

user_input = input() if user_input == "Добавить" or "добавить": print('Это условие выполняется всегда!') 

Вы можете сами это проверить. Дело в том, что с учётом приоритетов операций условие выглядит так:

if (user_input == "Добавить") or ("добавить"): pass # do something 

Логическое выражение user_input == «Добавить» может принимать как истинное значение, так и ложное, а вот логическое значение строки «добавить» всегда истинно, т.к. любая непустая строка имеет истинное булево представление. Если хотите использовать именно такой подход к решению, а не приведением к нижнему регистру, условие должно иметь вид:

if user_input in ("Добавить", "добавить"): pass # do something 

Как сделать бесконечный цикл в python

Оглавление книги Популярные страницы Скачать книгу Купить книгу

Python это высокоуровневый, интерпретируемый, интерактивный и объектно-ориентированный скриптовой язык программирования. Python был разработан как «легкочитаемый» язык, часто использующий в качестве ключевых слов слова английского языка.

Файл изготовлен по материалам сайта http://pythonicway.com/

Книги автора: Введение в Python

Книга: Введение в Python

Бесконечный цикл:

Бесконечный цикл:

Цикл while становится бесконечным в случае, когда условие цикла никогда не становится ложным. Примером задачи для реализации которой необходим бесконечный цикл может быть, например, создание программы «Часы», которая бесконечно будет обновлять и отображать время. Однако, часто бесконечный цикл является ошибкой начинающего программиста, который забыл добавить изменение условия цикла. Например:

1 | num = 1
2 | while num < 10:
3 | print «Hello»

Не спешите запускать данный цикл, иначе ваша программа начнет бесконечное выполнение. Чтобы остановить выполнение такого скрипта — в shell нужно нажать Ctrl+C.

Цикл while в Python

Из этого материала вы узнаете, что такое циклы while, как они могут становиться бесконечными, как использовать инструкцию else в цикле while и как прерывать исполнение цикла.

Управление потоком инструкций: цикл While в Python

Как и другие языки программирования Python включает несколько инструкций для управления потоком. Одна из таких — if else. Еще одна — циклы. Циклы используются в тех случаях, когда нужно повторить блок кода определенное количество раз.

Что такое цикл while в Python?

Цикл while используется в Python для неоднократного исполнения определенной инструкции до тех пор, пока заданное условие остается истинным. Этот цикл позволяет программе перебирать блок кода.

while test_expression: body of while 

Сначала программа оценивает условие цикла while. Если оно истинное, начинается цикл, и тело while исполняется. Тело будет исполняться до тех пор, пока условие остается истинным. Если оно становится ложным, программа выходит из цикла и прекращает исполнение тела.

Рассмотрим пример, чтобы лучше понять.

a = 1 while a  10: print('Цикл выполнился', a, 'раз(а)') a = a+1 print('Цикл окончен') 
Цикл выполнился 1 раз Цикл выполнился 2 раз Цикл выполнился 3 раз Цикл выполнился 4 раз Цикл выполнился 5 раз Цикл выполнился 6 раз Цикл выполнился 7 раз Цикл выполнился 8 раз Цикл выполнился 9 раз Цикл окончен 

Бесконечный цикл while в Python

Бесконечный цикл while — это цикл, в котором условие никогда не становится ложным. Это значит, что тело исполняется снова и снова, а цикл никогда не заканчивается.

Следующий пример — бесконечный цикл:

a = 1 while a==1: b = input('Как тебя зовут?') print('Привет', b, ', Добро пожаловать') 

Если запустить этот код, то программа войдет в бесконечный цикл и будет снова и снова спрашивать имена. Цикл не остановится до тех пор, пока не нажать Ctrl + C .

Else в цикле while

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

a = 1 while a  5: print('условие верно') a = a + 1 else: print('условие неверно') 

Этот пример демонстрирует принцип работы else в цикле while.

условие верно условие верно условие верно условие верно условие неверно 

Программа исполняет код цикла while до тех, пока условие истинно, то есть пока значение a меньше 5. Поскольку начальное значение a равно 1, а с каждым циклом оно увеличивается на 1, условие станет ложным, когда программа доберется до четвертой итерации — в этот момент значение a изменится с 4 до 5. Программа проверит условие еще раз, убедится, что оно ложно и исполнит блок else , отобразив «условие неверно».

Прерывания цикла while в Python

В Python есть два ключевых слова, с помощью которых можно преждевременно остановить итерацию цикла.

    Break — ключевое слово break прерывает цикл и передает управление в конец цикла

a = 1 while a  5: a += 1 if a == 3: break print(a) # 2 
a = 1 while a  5: a += 1 if a == 3: continue print(a) # 2, 4, 5 

Циклы For и While в Python

Циклы — одна из самых важных функций в программировании. Петли предлагают быстрый и простой способ сделать что-то многократно. Он может выполнять > блок кода ]] несколько раз.

Цикл For в Python

В цикле Python for используется итерация по элементам любой последовательности, включая список Python, строку, кортеж и т.д.

for item in sequence: statements(s)
workingDays = ['Monday','TuesDay','WednesDay','ThrusDay','Friday'] for day in workingDays: print(day)
Monday TuesDay WednesDay ThrusDay Friday

В приведенном выше примере workDays представляет собой последовательность рабочих дней. Когда цикл for, выполняющий первый элемент (т.е. понедельник), присваивается переменной «день». После этого будет выполняться инструкция печати, и процесс будет продолжаться до тех пор, пока мы не закончим конец списка.

Функция Range() для цикла

Функция диапазона фактически является очень мощной функцией, когда речь идет о создании последовательностей целых чисел. Он может принимать один, два или три параметра

Один параметр

range(stop)

stop: количество целых чисел для генерации до указанного числа (не включено).

for n in range(3): print(n)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *