[RISOLTO

Messaggioda 41a3bed2c8a57b62f41f » 17/03/2019, 11:00

Perchè se aia
a
la
Ultima modifica di 41a3bed2c8a57b62f41f il 23/03/2019, 13:47, modificato 1 volta in totale.
41a3bed2c8a57b62f41f
 

Re: [Python] Piccolo chiarimento su codice numeri primi Python

Messaggioda claudio86 » 17/03/2019, 11:34

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.
"This theorem, as many others, is proven by writing zero in a creative way…"
claudio86
Senior Member
Senior Member
 
Messaggio: 505 di 1130
Iscritto il: 09/01/2011, 15:12

Re: [Python] Piccolo chiarimento su codice numeri primi Python

Messaggioda 41a3bed2c8a57b62f41f » 17/03/2019, 12:32

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
41a3bed2c8a57b62f41f
 

Re: [Python] Piccolo chiarimento su codice numeri primi Python

Messaggioda claudio86 » 17/03/2019, 12:53

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.
"This theorem, as many others, is proven by writing zero in a creative way…"
claudio86
Senior Member
Senior Member
 
Messaggio: 506 di 1130
Iscritto il: 09/01/2011, 15:12

Re: [Python] Piccolo chiarimento su codice numeri primi Python

Messaggioda 41a3bed2c8a57b62f41f » 17/03/2019, 13:02

"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)
41a3bed2c8a57b62f41f
 

Re: [Python] Piccolo chiarimento su codice numeri primi Python

Messaggioda claudio86 » 17/03/2019, 14:03

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)))
"This theorem, as many others, is proven by writing zero in a creative way…"
claudio86
Senior Member
Senior Member
 
Messaggio: 507 di 1130
Iscritto il: 09/01/2011, 15:12


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite