Как создать бесконечный цикл в бесконечном цикле на 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 это использовать range(). range возвращает список но когда нужно пройтись по большому диапазону лучше использовать xrange(), который вместо списка, возвращает итератор. Но как быть, когда конец диапазона не известен, а использовать while True кажется не эстетичным.
Очень просто:
from itertools import count
for i in count(1): DoSomeWith(i)
Разумеется как только мы получим результат, можем спокойно сделать break.
Python | Как сделать бесконечное прибавление к переменной?
Сделал скрипт который должен создать 2 файла:
a = 1
f = open(‘text’ + str(a+1) + ‘.txt’, ‘w’)
f = open(‘text’ + str(a+1) + ‘.txt’, ‘w’)
f.close()
Но создаётся только один, text2.txt
А я планировал: text2.txt и text3.txt
Как это сделать?
- Вопрос задан более трёх лет назад
- 1617 просмотров
17 комментариев
Простой 17 комментариев
Это бесконечно трудная задача.
Meakin @Meakin Автор вопроса
longclaps, Сарказм.. и ‘умники’, Толку от тостера не особо, уже сам догадался
Meakin, а ты быстро соображаешь! Мои поздравления.
Meakin, тут не в тостере дело, вы не знакомы с базовыми операциями python, которые описываются в первой-второй главе любой книги, при этом что-то пытаетесь сделать.
Meakin @Meakin Автор вопроса
Ivan Yakushenko, В таком случае, тостер бесполезен) Какой бы вопрос ты не задал, кроме тупых ответов ты не получишь, разве что от экспертов, по поводу «базовых операций» Я знаю, просто не хочу сейчас листать учебник а протестить одну программу, поэтому задал вопрос сюда чтобы написали бесконечный цикл нескольких действий
(Не знаю как реализовать:)
num = 1
while num < 10:
a = 1
a+=1
f = open(‘text’ + str(a) + ‘.txt’, ‘w’)
a+=1
f = open(‘text’ + str(a) + ‘.txt’, ‘w’)
a+=1
f = open(‘text’ + str(a) + ‘.txt’, ‘w’)
a+=1
f = open(‘text’ + str(a) + ‘.txt’, ‘w’)
a+=1
f = open(‘text’ + str(a) + ‘.txt’, ‘w’)
a+=1
f = open(‘text’ + str(a) + ‘.txt’, ‘w’)
f.close()
Meakin @Meakin Автор вопроса
Meakin, Хочу сделать так, только бесконечно, а то самому 1000000 раз копировать и вставлять это не хочу..да и тупо.
Цикл for в python.
Не считая листинга там 164 слова. При средней скорости чтения в 120 слов в минуту вы потратите чуть больше минуты на прочтение этой статьи. На прочтение с попыткой понять — не более 5 минут, я думаю.
Сколько времени вы потратили с момента создания этого вопроса и сколько вы уже ждете, пока кто-то за вас сделает то, что вы хотите сделать для себя?
Циклы в Python: виды и примеры
Что это такое? Циклы в Python – инструменты, упрощающие работу с кодом. В программировании все циклично и последовательно. Написание любой программы состоит из прохождения определенных этапов, задачи в которых могут повторяться. Вот чтобы не тратить время на повторяющиеся элементы и были придуманы циклы. К слову, они есть в любом языке программирования, не только в Python.
Какие бывают? В Python основных циклов всего два – «while» и «for». Первый используется тогда, когда заранее известно количество итераций, а второй – когда нужно выполнить перебор элементов. Но мало знать принципы работы циклов, в работе необходимы еще и операторы, которые делают «while» и «for» бесконечными или вложенными, прерывают их или меняют. Ниже в статье постарались объяснить все это доступным языком с примерами.
В статье рассказывается:
- Что такое циклы в языке программирования Python
- Зачем нужны циклы в Python
- 2 цикла в Python
- Примеры циклов в Python
- Выход из цикла Python или его смена
- Бесконечные и вложенные циклы в Python
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.
Бесплатно от Geekbrains
Что такое циклы в языке программирования Python
Цикличные задачи имеют место даже в повседневной жизни. Например, различные списки продуктов, целей на день, назначенных встреч и т. д. Приходя в супермаркет, человек ориентируется на список, покупая все товары, которые в нем указаны.
В сфере программирования циклы дают возможность осуществлять повтор тех или иных действий в зависимости от соблюдения имеющегося условия. Тем самым обеспечивается выполнение многократной последовательности инструкции.
В рамках данной темы можно выделить ряд базовых понятий:
- Единоразовое выполнение — так называемая итерация.
- Тело цикла — последовательность кода, которую можно исполнить многократно.
Узнай, какие ИТ — профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!
Скачивайте и используйте уже сегодня:
Павел Симонов
Исполнительный директор Geekbrains
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Получить подборку бесплатно
Уже скачали 27937
Используя Python , вы можете создавать вложенные циклы. В этом случае программа произведет запуск внешнего цикла и в первой его итерации перейдет во вложенный. После этого она вновь вернётся к началу внешнего и опять запустит внутренний. Эти действия будут выполняться вплоть до момента, когда последовательность не завершится или не прервется. Циклы очень полезны для выполнения задач, связанных с перебором определенного количества элементов в заданном списке.
Зачем нужны циклы в Python
Циклы в Python позволяют сделать из сложных задач более простые. С помощью них вы можете настроить поток программы так, чтобы код повторялся определенное количество раз. Иными словами, вам не придется постоянно прописывать один и тот же код. Допустим, что перед вами стоит задача вывода первых 20 натуральных чисел. Вы, конечно, можете применить оператор «print» 20 раз, но гораздо более удобный вариант — вывести их внутри цикла, который выполняет до 20 итераций.