2012-10-06 5 views

Trả lời

7

tôi nghĩ cách ưu tiên là để uniformly chọn một số thực giữa min_timemax_time và sau đó sử dụng chức năng được xây dựng trong round (đến số thập phân đầu tiên):

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

Làm thế nào tôi không thể nghĩ về giải pháp đơn giản này? Cảm ơn! – mko

2

Tôi nghĩ những gì bạn có là khá ổn. Mặc dù bạn cũng có thể viết nó như thế này

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

Tùy chọn hiển nhiên khác là

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

- i và j thuộc về giới hạn của bạn như 2 và 3

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