Hỏi về random trong Python

Chào anh em.

Mới đây thằng cu bạn em mới làm một mini game nhỏ theo kiểu nhập số – xem kết quả: http://ideone.com/dt4fZF

Em đã thử chạy bằng Code::Block và thấy rằng, mặc dù nhập cùng một giá trị, nhưng cứ mỗi lần Run code, thì kết quả đưa ra màn hình lại khác nhau. Em đoán là do thằng này (bên trong code):

mt19937_64 randomGenerator(time(NULL));
uniform_int_distribution<int> hATK(0, 40);
uniform_int_distribution<int> oATK(0, 50);

Em không hiểu nhiều lắm về hàm này trong C++, vì em học Python mà.

SAu đó, em “translate” code của thằng bạn ra Python:

Ideone.com

Ideone.com

Ideone is something more than a pastebin; it’s an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

Và mặc dù chạy rất nhiều lần bằng lệnh python trong Terminal

~$ python  <tên file>.py

Thì kết quả hiện ra màn hình của code Python này vẫn giống ý như nhau, với cùng một giá trị nhập vào :crying_cat_face:

Vậy thì cái này

mt19937_64 randomGenerator(time(NULL));
uniform_int_distribution<int> hATK(0, 40);
uniform_int_distribution<int> oATK(0, 50);

là chi? Và làm sao “translate” nó ra Python đây ạ? :blush:

Em cảm ơn ạ :wink: