PDA

View Full Version : [Python] - Esercizio sui numeri casuali


88MIKI88
21-10-2008, 18:23
Capitolo 9 esercizio in cui compare la funzione "Nellintervallo". Francamente non so come quel codice possa funzionare io avevo iniziato a rifarlo a modo mio ma non funzia :


import random


def Intervallo(s,LINF,LSUP):
c = 0
for Numero in s:
if LSUP < Numero < LINF:
c = c + 1
return c


Prompt = "Dammi la lunghezza della lista "
Lista = input(Prompt)
s = [0] * Lista
for i in range(Lista):
s[i] = random.random()


Prompt2 ="Dammi il nr. degli intervalli "
N_INT= input(Prompt2)
c = [0] * N_INT
AM_INT= 1.0/N_INT
for i in range(N_INT):
LINF = i * AM_INT
LSUP = LINF + AM_INT
c[i] = Intervallo(s,LINF,LSUP)
print c



Ho voluto gestire l'input sia degli intervalli che della grandezza della lista da tastiera. Ho già capito il perchè non funziona perchè non c'è una corrispondenza tra i due cicli for e quindi naturalmente non vengono passati i parametri....un piccolo input thanks :P

88MIKI88
21-10-2008, 19:28
Scusate la gaffe....mi sono accorto dell'errore e della scemenza che avevo detto.....

il ciclo if della funzione è il seguente



if LINF < Numero < LSUP:

88MIKI88
22-10-2008, 17:47
Capitolo 9.8


import random

Prompt = "Dammi la lunghezza della lista "
Lista = input(Prompt)
s = [0] * Lista
for i in range(Lista):
s[i] = random.random()
print s

Prompt2 = "Dammi il nr. degli intervalli "
N_INT = input(Prompt2)
c = [0] * N_INT
for i in s:
Indice = int(i * N_INT)
c[Indice] = c[Indice] + 1
print c



Secondo voi non è uguale all'esercizio che viene richiesto dopo?? (Oltre che l'altro è una funzione)...io parlo solo esclusivamente di concetti.


Alla domanda invece "Esercizio: È possibile per questo calcolo produrre un indice che sia fuori dalla gamma di numeri ammessa (negativo o più grande di len(Conteggio)-1)?". Secondo me in base al codice che ho scritto sopra non è possibile.