[PIPython] problema mappa

Matteo Giacomazzi matteo.giacomazzi
Mer 25 Maggio 2005 16:46:47 CEST


Ciao Mariano,

> Scusami Matteo, ma non penso di aver capito bene ciò che intendi dire. 
> Potresti essere più chiaro e concreto?

...è dai tempi delle medie che non mi viene mossa una richiesta di 
questo genere... ;)

Comunque: supponiamo di utilizzare il meccanismo di uscita da un ciclo 
for mediante riassegnazione dell'indice:

a=0;
for(i=0; i<1000; i++) {
     if(i==10) i=1000;
     a++;
}

Viceversa, supponiamo di utilizzare break:

a=0;
for(i=0; i<1000; i++) {
     if(i==10) break;
     a++;
}

Che cosa cambia in questi due cicli?
Che alla fine del primo a==12 mentre alla fine del secondo a==11.
Ovvio che un ciclo così semplice, "giocattolo", non rende l'idea perchè 
la soluzione più ovvia che non utilizza /break/ è:

a=0;
for(i=0; i<1000; i++) {
     if(i==10) i=1000;
     else a++;
}

Nel caso invece di un ciclo più complesso bisognerebbe fare qualcosa del 
tipo:

a=0;
for(i=0; i<1000; i++) {
     if(i==10) {
         i=1000;
         continue;
     }
     a++;
}

Però chi sostiene che non si usa il /break/ in un ciclo, probabilmente 
riterrà inopportuno anche l'utilizzo di /continue/.

Spero di essere stato chiaro e concreto a sufficienza! ;)

Ciao,
   Matteo


More information about the Python mailing list