In C c'è un trucco intelligente che consente di evitare il codice di piramide in stile girando:Come posso scrivere do-while (0) di C in Python?
if (check1())
if (check2())
if (check3())
do_something();
in:
do {
if (!check1())
break;
if (!check2())
break;
if (!check3())
break;
do_something();
} while (0);
Qual è il modo più pulito per me di fare questo in Python, che doesn' t avere un costrutto do-while?
Nota: Non sto necessariamente chiedere un modo per implementare un do-while in Python, ma una tecnica per evitare il suddetto codice di piramide in stile.
Aggiornamento: Sembra che ci sia un po 'di confusione. L'unica ragione per cui sto usando un ciclo è di essere in grado di scoppiare in qualsiasi punto del corpo, che dovrebbe essere eseguito una sola volta.
Essenzialmente quello che sto facendo in Python è questo:
while True:
if not check1():
break
if not check2():
break
if not check3():
break
do_domething()
break
Mi chiedo solo se c'è un modo più pulito.
'while (0)' <- non potrà mai entrare in questo circuito – inspectorG4dget
@ inspectorG4dget non corretta, la condizione è verificata * dopo * la prima iterazione –
@DrewMcGowen: questo è quello che volevo dire. Verrà eseguito UNA VOLTA e mai più – inspectorG4dget