In python, e supponendo che sia su un sistema che ha un generatore di semi casuali, come faccio a ottenere random.seed() per usare l'ora del sistema? (Come se/dev/urandom non esisteva)Python: seme temporale del sistema casuale
risposta
import random
from datetime import datetime
random.seed(datetime.now())
si può fare
import random
import time
random.seed(time.time())
da quel link: "Se le fonti di casualità sono fornite dal sistema operativo, vengono utilizzate al posto dell'ora di sistema (vedere l'os.urandom () per i dettagli sulla disponibilità). "Questo è quello che sto cercando di evitare. – Academiphile
quindi non ho capito la tua domanda, cosa stai cercando? – Elisha
a stai cercando 'random.seed (time.time())'? – Elisha
Sai questa libreria: PyRandLib? Vedere:
https://schmouk.github.io/PyRandLib/ to easily download archives versions, and
https://github.com/schmouk/PyRandLib to get access to the code.
Questa libreria contiene molti dei numeri pseudo-casuali best-in-class generatori agendo esattamente come fa il Python "built-in" libreria casuale (appena un-zip o un-tar del scaricati archiviare nella sottodirectory 'Lib/site-packages /' della tua directory Python).
Dal codice e dal modulo "fastrand32.py", si otterrà un modo molto più sofisticato di alimentare casuale con una versione mescolata dell'ora corrente. A questo scopo, questa diventerebbe:
import time
import random
t = int(time.time() * 1000.0)
random.seed(((t & 0xff000000) >> 24) +
((t & 0x00ff0000) >> 8) +
((t & 0x0000ff00) << 8) +
((t & 0x000000ff) << 24) )
Ciò fornisce un vantaggio principale: per brevi periodi di tempo, i semi iniziali per l'alimentazione del generatore pseudo-casuale sarà enormemente differente tra due chiamate successive.
Non si può usare qualcosa come 'random.seed (time.time()'? – fredtantini
Non Python ha automaticamente un seme casuale comunque? Si suppone che si debba fornire un seme solo se non lo si desidera essere casuale, ho pensato? – ArtOfWarfare
Inizia l'ovvia domanda: * perché * stai cercando di evitare deliberatamente il seme superiore in favore del tempo di sistema? Questo mi urla "domanda XY" per me –