Я только начал программировать на Python и столкнулся с таким синтаксисом:
while True:
do smth
и я не могу найти способ остановить цикл
Я не нашел ничего, что останавливало бы цикл, чтобы позволить остальной части программы функционировать, и я хотел бы найти что-то, что это делает.
если вы собираетесь использовать while True, всегда имейте в наличии какой-нибудь оператор if, который может выйти из цикла.
Всегда начинайте с документации: операторы разрыва и продолжения, а также предложения в циклах
Чтобы расширить комментарий @Mike'Pomax'Kamermans, вы можете добавить в цикл оператор if <condition>: break, и в этом случае цикл прервется, если условие будет выполнено. Или вместо этого используйте while <condition> (в этом случае цикл прервется, когда условие перестанет быть истинным).
вы можете использовать break в циклах while






Просто объявите логическую переменную и установите для нее значение true. Затем выполните цикл while, если переменная равна True. Остальное делайте.
variable = True
while variable = True:
Do something.
если вы хотите остановить цикл, то, вероятно, напишите оператор if для того, какое условие должно быть выполнено, чтобы цикл остановился.
variable = True
while variable = True:
Do something.
if a = b:
variable = False
a = b на самом деле является общим, это скорее заполнитель, в котором вы записываете свое условие.
Если вы собираетесь включить в свой ответ псевдокод, по крайней мере, четко отметьте его. if the condition is met на самом деле не является допустимым Python, но достаточно близок к этому, чтобы некоторые люди могли запутаться.
Как вы сказали, это вечный цикл, который останавливается только тогда, когда условие while равно False.
поэтому этот оператор никогда не прекратится, пока вы не нажмете Ctrl^C и прерывание клавиатуры.
вы можете разорвать цикл с помощью ключевого слова break внутри цикла.
например:
counter = 0
while True:
if counter == 10:
break
print(counter)
counter = counter + 1
В этой простой программе есть цикл while, который печатает от 0 до 9, а когда counter == 10, то цикл прерывается.
Я голосую за закрытие этого вопроса, потому что на него можно ответить в документации или других туториалах