2012-10-06 11 views

Antwort

7

I denke, der bevorzugte Weg ist uniformly wählen Sie eine Floating-Nummer zwischen min_time und max_time und dann die eingebaute round Funktion (bis zur ersten Dezimalstelle):

round(random.uniform(min_time, max_time), 1) 
+0

Wie könnte ich nicht über diese einfache Lösung denken? Vielen Dank! – mko

2

Ich denke, was Sie haben, ist ziemlich in Ordnung. Obwohl Sie auch es so

schreiben konnte
0.1*randint(int(min_time * 10), int(m_time * 10)) 

Die andere offensichtliche Option ist

round(random.random()*(m_time-min_time)+min_time, 1) 
6
import decimal 
import random 

- i und j gehören Ihr Limit wie 2 und 3

decimal.Decimal('%d.%d' % (random.randint(0,i),random.randint(0,j))) 
Verwandte Themen