I loop sono solitamente inclusice, esclusivi, il che significa che inizi in basso e si ferma quando raggiungi, ma non in alto. In Python:
for i in range(0,a):
print(i)
stamperebbe da 0 a a-1. Lo stesso vale per Java:
for(int i = 0; i < a; i++){
System.out.println(i);
}
dovrebbe anche stampare da 0 a a 1, sebbene la sintassi sia in qualche modo più chiara.
Che cosa succede se si desidera stampare ogni numero fino a un, compreso? Scriveresti
for(int i = 0; i <= a; i++){
System.out.println(i);
}
o
for(int i = 0; i < a + 1; i++){
System.out.println(i);
}
Suppongo che il primo abbia più senso, tu stai facendo il ciclo mentre io sono meno o uguale a a, ma il segno meno di quello potrebbe essere facilmente trascurato. La percentuale dia + 1
non è così facile da mancare, secondo me.
Quindi la mia domanda è: c'è un'alternativa migliore dei due, e c'è una convinzione per questa cosa?
EDIT:
Voglio solo far notare che sto parlando di numeri interi qui.