Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [python]generare numeri random

    so che è facilissimo ma nonostante questo non riesco a capire se bisogna scaricare un ulteriore libreria per usare il generatore random. Potete scrivermi due righe per fare questa modestissima operazion. mi serve un programmino che mi dia degli interi da 0 a 100.

  2. #2
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Credo che questo dovrebbe andare bene.

    codice:
    import random
    
    random.seed()
    random.randint(0, 100)
    http://www.python.org/doc/2.4.2/lib/module-random.html

  3. #3
    grazie per questa alternativa.
    avevo risolto con:

    codice:
    import random
    print int(uniform(0,100))
    e se volessi generare numeri possibilmente diversi tra loro? come fare a mettere una condizione che controlli che la variabile non prenda valori uguali? è possibile usare una variabile con indice tipo Numerand(1) o ancora meglio con indice variabile: Numerand(x)
    ????????
    forse mi pongo un problema inutile... si può fare diversamente?

  4. #4
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Stai all'occhio perchè uniform(0, 100) restituisce numeri maggiori o uguali a 0 e strettamente minori di 100, quindi se vuoi che ogni tanto salti fuori anche 100 non va bene; comunque visto che a te servono numeri interi, usa randint che ce l'hanno messa apposta.

    Per il resto non ho capito di preciso cosa vuoi fare, vuoi che un numero venga generato al massimo una o n volte ma non di più?

  5. #5
    estattamente. la variabile in questione deve restituire sempre valori diversi. Non mi ricordo come si imposta una condizione di confronto di una variabile con se stessa. Ossia se il secondo valore random è uguale al primo allora ritorna all'inizio della funzione. se il terzo valore è uguale al secondo o al primo allora torna all'inizio...e così via. come si traduce?
    grazie per la precissazione su uniform.

    inoltre il tutto senza la riga:
    codice:
    random.seed()
    funziona lostesso oppure è indispensabile inserirla. Ma a cosa serve?

  6. #6
    potresti creare un set e aggiungervi gli elementi causali n volte, ovviamente solo se il numero generato all'i-esima iterazione non e' gia' presente nel set.

    ciao

  7. #7
    ancora meglio:

    codice:
    print random.sample(xrange(n+1), n)
    dove, ovviamente, n e' il numero di numeri casuali che vuoi generare.

    http://docs.python.org/lib/module-random.html

    ciao

  8. #8
    codice:
    print random.sample(xrange(n+1), n)
    Mi restituisce n numeri casuali aventi come massimo valore n e come minimo 0. non va bene perchè devono comunque variare da 0 a 100 indipendentemente dal numero di volte che dicido si "peschi dal caso".

  9. #9
    Originariamente inviato da petremic73
    codice:
    print random.sample(xrange(n+1), n)
    Mi restituisce n numeri casuali aventi come massimo valore n e come minimo 0. non va bene perchè devono comunque variare da 0 a 100 indipendentemente dal numero di volte che dicido si "peschi dal caso".
    non credo di aver capito come mai la soluzione che ti ho proposto non vada bene. :master:

  10. #10
    codice:
    nc=random.sample(xrange(n+1), c)
    questa forse è giusta in questo caso perche insersce una variabile c indipendente da n.
    Ma vi chiedo:
    sicuro che i valori casuali non si ripetono nello stesso processo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.