У меня проблема с управлением потоком, я получил несколько хороших советов ранее по вопросу, и теперь мне нужно сделать мою упрощенную версию ближе к реальной проблеме.
У меня есть время l oop на основе значение счета. Когда мой внутренний l oop работает, счетчик увеличивается, но я хотел бы выйти из всех циклов, кроме самого внешнего l oop, если счет превышает целевое значение 50.
code:
smurf = True
print('smurf status: ', smurf)
jackets = list(range(5))
print(jackets)
gloves = [7,8,9]
for g in gloves:
print('The glove is :',g)
smurf = True
whitesocks = True
count = 10
while count <= 50:
for j in jackets:
print('\tjacket = ', j, '\n')
while smurf is True:
print('count =', count)
print('\t\twhile true jacket is :', j)
if j == jackets[-3]:
smurf = False
print('\t\tsmurf is FALSIOOOO SO BREAK')
break #to escape the while loop
print('\t\tsmurf with jacket ',j, ' be ok')
j += 1
count += 33
print('doo dah')
break # To escape the for-loop
break # i think this is to escape while count
print('After the jacket loop')
#break
print('END OF SMURFGATE')
текущие результаты:
smurf status: True
[0, 1, 2, 3, 4]
The glove is : 7
jacket = 0
count = 10
while true jacket is : 0
smurf with jacket 0 be ok
count = 43
while true jacket is : 1
smurf with jacket 1 be ok
count = 76
while true jacket is : 2
smurf is FALSIOOOO SO BREAK
doo dah
After the jacket loop
The glove is : 8
jacket = 0
count = 10
while true jacket is : 0
smurf with jacket 0 be ok
count = 43
while true jacket is : 1
smurf with jacket 1 be ok
count = 76
while true jacket is : 2
smurf is FALSIOOOO SO BREAK
doo dah
After the jacket loop
The glove is : 9
jacket = 0
count = 10
while true jacket is : 0
smurf with jacket 0 be ok
count = 43
while true jacket is : 1
smurf with jacket 1 be ok
count = 76
while true jacket is : 2
smurf is FALSIOOOO SO BREAK
doo dah
After the jacket loop
END OF SMURFGATE
желаемые результаты: если счетчик <= 50, то я хотел бы, чтобы петли выходили на крайний l oop и устанавливали перчатку l oop к следующему значению в списке и продолжайте. </p>
Код изменен для добавления флагов:
smurf = True
print('smurf status: ', smurf)
jackets = list(range(5))
print(jackets)
gloves = [7,8,9]
flag = 0
for g in gloves:
print('The glove is :',g)
smurf = True
whitesocks = True
count = 10
while count <= 50:
for j in jackets:
print('\tjacket = ', j, '\n')
while smurf is True:
print('count =', count)
print('\t\twhile true jacket is :', j)
if j == jackets[-3]:
smurf = False
print('\t\tsmurf is FALSIOOOO SO BREAK')
if flag == 1:
break
break #to escape the while loop
print('\t\tsmurf with jacket ',j, ' be ok')
j += 1
count += 33
if count >= 50:
flag = 1
print('doo dah')
if flag == 1:
break
break # To escape the for-loop
if flag ==1:
break
break # i think this is to escape while count
print('After the jacket loop')
#break
print('END OF SMURFGATE')
результаты с флагами, которые я потерял:
smurf status: True
[0, 1, 2, 3, 4]
The glove is : 7
jacket = 0
count = 10
while true jacket is : 0
smurf with jacket 0 be ok
count = 43
while true jacket is : 1
smurf with jacket 1 be ok
count = 76
while true jacket is : 2
smurf is FALSIOOOO SO BREAK
doo dah
After the jacket loop
The glove is : 8
jacket = 0
count = 10
while true jacket is : 0
smurf with jacket 0 be ok
count = 43
while true jacket is : 1
smurf with jacket 1 be ok
count = 76
while true jacket is : 2
smurf is FALSIOOOO SO BREAK
doo dah
After the jacket loop
The glove is : 9
jacket = 0
count = 10
while true jacket is : 0
smurf with jacket 0 be ok
count = 43
while true jacket is : 1
smurf with jacket 1 be ok
count = 76
while true jacket is : 2
smurf is FALSIOOOO SO BREAK
doo dah
After the jacket loop
END OF SMURFGATE