Как в Python запустит бесконечный цикл while по запросу?
if num > num1:
print (‘Выиграл первый игрок!’)
elif num < num1:
print (‘Выиграл второй игрок!’)
else:
print (‘Ничья!’)
#конструкция для вкл/выкл игры:
v1 = input (‘ЕЩЁ? (+, -) ‘)
if v1 == ‘-‘:
print (‘Пока!’)
break
if v1 == ‘+’:
print()
else:
print (‘Введено неверное действие!’)
break
Как сделать бесконечный цикл в python

Python это высокоуровневый, интерпретируемый, интерактивный и объектно-ориентированный скриптовой язык программирования. Python был разработан как «легкочитаемый» язык, часто использующий в качестве ключевых слов слова английского языка.
Файл изготовлен по материалам сайта http://pythonicway.com/
Книги автора: Введение в Python
Книга: Введение в Python
Бесконечный цикл:
Бесконечный цикл:
Цикл while становится бесконечным в случае, когда условие цикла никогда не становится ложным. Примером задачи для реализации которой необходим бесконечный цикл может быть, например, создание программы «Часы», которая бесконечно будет обновлять и отображать время. Однако, часто бесконечный цикл является ошибкой начинающего программиста, который забыл добавить изменение условия цикла. Например:
1 | num = 1
2 | while num < 10:
3 | print «Hello»
Не спешите запускать данный цикл, иначе ваша программа начнет бесконечное выполнение. Чтобы остановить выполнение такого скрипта — в shell нужно нажать Ctrl+C.
Циклы 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)
Как создать бесконечный цикл в бесконечном цикле на 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,497 2 2 золотых знака 8 8 серебряных знаков 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
