[RISOLTO

Sk_Anonymous
Perchè se aia
a
la

Risposte
claudio862
Se N = 2, il ciclo esterno ha una sola iterazione dove i = 2, mentre il ciclo interno non ha nessuna iterazione (perché range(2, 2) è vuoto).

Comunque, la prossima volta incolla il codice direttamente. Mai usare un'immagine per mostrare del codice.

Sk_Anonymous
Ok per il suggerimento dell'immagine!
Riguardo il ciclo interno, allora devo scrivere range (2,i+1) ?
Adesso sta (2,i) che dovrebbe essere (2,1) in quanto il range si ferma a (i-1). Non so se mi sono spiegato

claudio862
i non vale mai 1, parte da 2 e arriva fino a N. (2, i) vale (2, 2).
range(a, b) è vuoto se b < a + 1, quindi il ciclo interno non viene eseguito nemmeno una volta.

Non capisco quello che vuoi fare, quella funzione trova correttamente i numeri primi.

Sk_Anonymous
"range(a, b) è vuoto se b < a + 1"
Mi ero perso questa parte qui!

Ragionavo sul fatto che il range si interrompe a STOP - 1, nel senso che nel caso (a,b) il range vale (a, b - 1)

claudio862
range(a, b) crea un iteratore che va da "a" a "b - 1".
È una espressione come tutte le altre, non un costrutto specifico per i cicli for. Puoi anche stampare il risultato (convertendolo prima in una lista) con print(list(range(a, b)))

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.