Tôi đang sử dụng để nhập random.randrange
. Tôi sẽ thực hiện một số from random import Random
để phát hiện lỗi từ bây giờ.Công cụ random.Random.seed của python hoạt động như thế nào?
Đối với một trò chơi liên quan đến thế hệ thủ tục (nope, không phải là một bản sao Minecraft: p) Tôi muốn giữ một vài máy phát điện số giả ngẫu nhiên khác nhau:
- một cho thế hệ của thế giới (phong cảnh, nhiệm vụ, v.v.),
- một cho các sự kiện ngẫu nhiên có thể xảy ra trên thế giới (chẳng hạn như thiệt hại trong khi chiến đấu).
Lý do là tôi muốn có thể tạo lại mẫu đầu tiên, vì vậy tôi không muốn thứ hai gây trở ngại.
Tôi nghĩ rằng random.Random
đã được thực hiện cho điều đó. Tuy nhiên, có điều gì đó khiến tôi khó hiểu:
import random
rnd = random.Random()
rnd.seed(0)
print [random.randrange(5) for i in range(10)]
rnd.seed(0)
print [random.randrange(5) for i in range(10)]
sản xuất hai trình tự khác nhau. Khi tôi làm rnd = random
thì mọi thứ hoạt động như mong đợi, nhưng tôi cần một số máy phát điện.
Tôi đang thiếu gì?
Nó thực sự đã cho tôi một vài phút để phát hiện ra điều đó. Đừng cảm thấy xấu xảy ra với tất cả chúng ta, vui vì nó đã được giải quyết :) –