Salve a tutti,
Premetto dicendo che sto usando Python 2.7 e che quando eseguo questo codice mi imbatto in un problema che non riesco a risolvere:
import random
def ListaCasuale(Lungh):
s = [0] * Lungh
for i in range(Lungh):
s = random.random()
return s
lista = ListaCasuale(1000)
NumIntervalli = 8
Conteggio = [0] * NumIntervalli
for i in lista:
Indice = int(i * NumIntervalli)
Conteggio[Indice] = 3
print Conteggio
Ognuno di noi quando stamperà Indice riceverà un numero diverso che peró a meno che non si riavii il programma resterà sempre quello ( per esempio ora tutte le volte che chiamo Indice mi ritorna 4 ma se riavvio il programma mi restituirà un numero compreso tra 0 ed 8 finché non lo avvio di nuovo).
Quindi Indice vale un numero fisso (adesso 4), quindi perché se faccio:
print Conteggio [Indice] = 7
mi restituisce:
[7, 7, 7, 7, 7, 7, 7, 7] ma se faccio:
print Conteggio[4] = 7
restituisce:
[0, 0, 0, 7, 0, 0, 0, 0] ?
Valendo Indice 4 non dovrebbe restiruire lo stesso risultato che mi restituisce se scrivo 4, ovvero:
[0, 0, 0, 7, 0, 0, 0, 0] ?
Qualcuno puó aiutarmi?
Grazie in anticipo
Premetto dicendo che sto usando Python 2.7 e che quando eseguo questo codice mi imbatto in un problema che non riesco a risolvere:
import random
def ListaCasuale(Lungh):
s = [0] * Lungh
for i in range(Lungh):
s = random.random()
return s
lista = ListaCasuale(1000)
NumIntervalli = 8
Conteggio = [0] * NumIntervalli
for i in lista:
Indice = int(i * NumIntervalli)
Conteggio[Indice] = 3
print Conteggio
Ognuno di noi quando stamperà Indice riceverà un numero diverso che peró a meno che non si riavii il programma resterà sempre quello ( per esempio ora tutte le volte che chiamo Indice mi ritorna 4 ma se riavvio il programma mi restituirà un numero compreso tra 0 ed 8 finché non lo avvio di nuovo).
Quindi Indice vale un numero fisso (adesso 4), quindi perché se faccio:
print Conteggio [Indice] = 7
mi restituisce:
[7, 7, 7, 7, 7, 7, 7, 7] ma se faccio:
print Conteggio[4] = 7
restituisce:
[0, 0, 0, 7, 0, 0, 0, 0] ?
Valendo Indice 4 non dovrebbe restiruire lo stesso risultato che mi restituisce se scrivo 4, ovvero:
[0, 0, 0, 7, 0, 0, 0, 0] ?
Qualcuno puó aiutarmi?
Grazie in anticipo