Hướng dẫn how does the random module work in python? - mô-đun ngẫu nhiên hoạt động như thế nào trong python?

Mô-đun

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
3 là một mô-đun tích hợp để tạo các biến giả ngẫu nhiên. Nó có thể được sử dụng thực hiện một số hành động một cách ngẫu nhiên như để có được một số ngẫu nhiên, chọn một phần tử ngẫu nhiên từ danh sách, các yếu tố xáo trộn một cách ngẫu nhiên, v.v.

Tạo phao ngẫu nhiên

Phương pháp

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
4 trả về số nổi ngẫu nhiên trong khoảng 0,0 đến 1,0. Hàm không cần bất kỳ đối số nào.

>>> import random
>>> random.random()
0.645173684807533

Tạo số nguyên ngẫu nhiên

Phương thức

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
5 trả về một số nguyên ngẫu nhiên giữa các số nguyên được chỉ định.

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49

Tạo các số ngẫu nhiên trong phạm vi

Phương thức

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
6 trả về một phần tử được chọn ngẫu nhiên từ phạm vi được tạo bởi các đối số bắt đầu, dừng và bước. Giá trị của bắt đầu là 0 theo mặc định. Tương tự, giá trị của bước là 1 theo mặc định.

>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80

Chọn các yếu tố ngẫu nhiên

Phương thức

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
7 trả về một phần tử được chọn ngẫu nhiên từ một chuỗi không trống. Một chuỗi trống khi đối số làm tăng chỉ số.

>>> import random
>>> random.choice('computer')
't'          
>>> random.choice([12,23,45,67,65,43])
45           
>>> random.choice((12,23,45,67,65,43))
67

Các yếu tố xáo trộn ngẫu nhiên

Phương thức

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
8 sắp xếp lại ngẫu nhiên các phần tử trong danh sách.

>>> numbers=[12,23,45,67,65,43]
>>> random.shuffle(numbers)
>>> numbers
[23, 12, 43, 65, 67, 45]
>>> random.shuffle(numbers)
>>> numbers
[23, 43, 65, 45, 12, 67]

Tìm hiểu thêm về mô -đun ngẫu nhiên trong tài liệu Python.

Sự ngẫu nhiên là tất cả xung quanh chúng ta. Khi bạn lật một đồng xu hoặc cuộn một cái chết, bạn không bao giờ có thể chắc chắn về kết quả. Khả năng không thể đoán trước này có rất nhiều ứng dụng, như xác định người chiến thắng trong một trận hòa may mắn hoặc tạo ra các trường hợp thử nghiệm cho một thử nghiệm với các giá trị ngẫu nhiên được tạo ra dựa trên thuật toán. & NBSP;

Giữ sự hữu ích này trong tâm trí, Python đã cung cấp cho chúng tôi mô -đun ngẫu nhiên. Bạn có thể sử dụng nó trong các trò chơi để sinh ra kẻ thù một cách ngẫu nhiên hoặc để xáo trộn các yếu tố trong danh sách. & NBSP;

Các loại chức năng Ví dụ chức năng
Khởi tạo và sử dụng trình tạo số ngẫu nhiên
>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
9,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
0
Số nguyên ngẫu nhiên trong một phạm vi
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
1,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
2
Các mục ngẫu nhiên từ một chuỗi
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
3,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
4,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
5
Phao ngẫu nhiên với phân phối tiêu chuẩn
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
6,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
7,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
8
Các mục ngẫu nhiên từ một danh sách có trọng số
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
3,
>>> import random
>>> random.choice('computer')
't'          
>>> random.choice([12,23,45,67,65,43])
45           
>>> random.choice((12,23,45,67,65,43))
67
0,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
5

Làm thế nào để ngẫu nhiên hoạt động?

Gần như tất cả các hàm trong mô -đun này phụ thuộc vào hàm

>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
0 cơ bản, sẽ tạo ra một chiếc phao ngẫu nhiên lớn hơn hoặc bằng 0 và nhỏ hơn một. Python sử dụng & nbsp; mersenne twister để tạo ra phao. Nó tạo ra phao chính xác 53 bit với khoảng thời gian 219937-1. Nó thực sự là trình tạo số giả mục tiêu đa năng được sử dụng rộng rãi nhất.

Khởi tạo trình tạo số ngẫu nhiên với
>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
9

Đôi khi, bạn muốn trình tạo số ngẫu nhiên tái tạo chuỗi số mà nó tạo lần đầu tiên. Điều này có thể đạt được bằng cách cung cấp cùng một giá trị hạt giống cả hai lần cho trình tạo bằng hàm & nbsp; ____ 34. Nếu tham số

>>> import random
>>> random.choice('computer')
't'          
>>> random.choice([12,23,45,67,65,43])
45           
>>> random.choice((12,23,45,67,65,43))
67
5 bị bỏ qua, trình tạo sẽ sử dụng thời gian hệ thống hiện tại để tạo các số. Đây là một ví dụ:

import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135

Hãy nhớ rằng không giống như một lần lật đồng xu, mô-đun tạo ra các số giả ngẫu nhiên hoàn toàn xác định, do đó nó không phù hợp cho mục đích mật mã.

Tạo số nguyên ngẫu nhiên

Tạo số nguyên trong một phạm vi với
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
1 và & nbsp; ________ 22

Mô -đun có hai chức năng khác nhau để tạo số nguyên ngẫu nhiên. Bạn có thể sử dụng ________ 38 & nbsp; để tạo một số toàn bộ ngẫu nhiên nhỏ hơn ________ 39. & nbsp;

Tương tự, bạn có thể sử dụng

>>> numbers=[12,23,45,67,65,43]
>>> random.shuffle(numbers)
>>> numbers
[23, 12, 43, 65, 67, 45]
>>> random.shuffle(numbers)
>>> numbers
[23, 43, 65, 45, 12, 67]
0 để tạo số ngẫu nhiên từ
>>> numbers=[12,23,45,67,65,43]
>>> random.shuffle(numbers)
>>> numbers
[23, 12, 43, 65, 67, 45]
>>> random.shuffle(numbers)
>>> numbers
[23, 43, 65, 45, 12, 67]
1. Ví dụ: sử dụng & nbsp; ________ 42 sẽ chỉ trả về các số đó trong khoảng từ 0 đến 100 cũng chia hết cho 3.

Nếu bạn biết cả giới hạn thấp hơn và trên giữa các giới hạn mà bạn muốn tạo các số, bạn có thể sử dụng hàm đơn giản và trực quan hơn được gọi là

>>> numbers=[12,23,45,67,65,43]
>>> random.shuffle(numbers)
>>> numbers
[23, 12, 43, 65, 67, 45]
>>> random.shuffle(numbers)
>>> numbers
[23, 43, 65, 45, 12, 67]
3. Nó chỉ đơn giản là một bí danh cho & nbsp; ________ 44.

import random

random.randrange(100)
# returns 65

random.randrange(100)
# returns 98

random.randrange(0, 100, 3)
# returns 33

random.randrange(0, 100, 3)
# returns 75

random.randint(1,6)
# returns 4

random.randint(1,6)
# returns 6

Chức năng cho các chuỗi

Chọn một yếu tố ngẫu nhiên từ một danh sách với
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
3

Để chọn một phần tử ngẫu nhiên từ một chuỗi không trống nhất định, bạn có thể sử dụng chức năng & nbsp; ____ 46 & nbsp; Với & nbsp; ________ 22, bạn bị giới hạn trong việc lựa chọn các số từ một phạm vi nhất định. Hàm & nbsp; ________ 46 cho phép bạn chọn một số từ bất kỳ chuỗi nào bạn muốn. & Nbsp;

Một điều tốt khác về chức năng này là nó không chỉ giới hạn ở các số. Nó có thể chọn bất kỳ loại phần tử ngẫu nhiên từ một chuỗi. Ví dụ, tên của người chiến thắng trong một trận hòa may mắn giữa năm người khác nhau, được cung cấp dưới dạng chuỗi, có thể được xác định bằng cách sử dụng chức năng này một cách dễ dàng.

Xáo trộn một chuỗi với
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
4

Nếu bạn muốn xáo trộn một chuỗi thay vì chọn một phần tử ngẫu nhiên từ nó, bạn có thể sử dụng chức năng

import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
0. Điều này sẽ dẫn đến một sự xáo trộn tại chỗ của chuỗi. Đối với một chuỗi chỉ với 10 yếu tố, có thể có tổng cộng 10! = 3.628.800 sắp xếp khác nhau. Với một chuỗi lớn hơn, số lượng hoán vị có thể sẽ còn cao hơn nữa, điều này ngụ ý rằng chức năng không bao giờ có thể tạo ra tất cả các hoán vị của một chuỗi lớn.

Mẫu nhiều lần với ________ 25 & nbsp;

Giả sử bạn phải chọn 50 sinh viên từ một nhóm 100 sinh viên để đi du lịch. & NBSP;

Tại thời điểm này, bạn có thể bị cám dỗ sử dụng hàm

>>> numbers=[12,23,45,67,65,43]
>>> random.shuffle(numbers)
>>> numbers
[23, 12, 43, 65, 67, 45]
>>> random.shuffle(numbers)
>>> numbers
[23, 43, 65, 45, 12, 67]
6. Vấn đề là bạn sẽ phải gọi nó khoảng 50 lần trong trường hợp tốt nhất trong đó nó không chọn cùng một học sinh. & NBSP;

Một giải pháp tốt hơn là sử dụng chức năng & nbsp; ____ 53 & nbsp;. Nó sẽ trả về một danh sách các yếu tố duy nhất

import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
4 từ chuỗi đã cho. Trình tự ban đầu không thay đổi. Các yếu tố trong danh sách kết quả sẽ theo thứ tự lựa chọn. Nếu k lớn hơn số lượng các phần tử trong chuỗi, một
import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
5 sẽ được nâng lên. & Nbsp;

import random

ids = [1, 8, 10, 12, 15, 17, 25]

random.choice(ids)           # returns 8
random.choice(ids)           # returns 15

names = ['Tom', 'Harry', 'Andrew', 'Robert']

random.choice(names)         # returns Tom
random.choice(names)         # returns Robert

random.shuffle(names)
names                        
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

random.sample(names, 2)
# returns ['Andrew', 'Robert']

random.sample(names, 2)
# returns ['Tom', 'Robert']

names
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

Như bạn có thể thấy,

import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
0 đã sửa đổi danh sách ban đầu, nhưng
import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
3 vẫn giữ nguyên.

Tạo phao ngẫu nhiên với phân phối tiêu chuẩn

Trong phần này, bạn sẽ tìm hiểu về các chức năng có thể được sử dụng để tạo số ngẫu nhiên dựa trên các phân phối giá trị thực cụ thể. Các tham số của hầu hết các hàm này được đặt tên theo biến tương ứng trong phương trình thực tế của phân phối đó.

Khi bạn chỉ muốn một số từ 0 đến 1, bạn có thể sử dụng hàm

>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
0. Nếu bạn muốn số trong một phạm vi cụ thể, bạn có thể sử dụng hàm
import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
9 với A và B làm giới hạn thấp hơn và cao hơn tương ứng.

Tạo phao ngẫu nhiên với phân phối xác suất

Giả sử bạn cần tạo ra một số ngẫu nhiên giữa ____ 60 & nbsp; và ________ 61 & nbsp; do đó nó có xác suất nằm trong vùng lân cận của một số khác

import random

random.randrange(100)
# returns 65

random.randrange(100)
# returns 98

random.randrange(0, 100, 3)
# returns 33

random.randrange(0, 100, 3)
# returns 75

random.randint(1,6)
# returns 4

random.randint(1,6)
# returns 6
2. Bạn có thể làm điều này với chức năng & nbsp; ____ ____ 63 & nbsp; Các giá trị
import random

random.randrange(100)
# returns 65

random.randrange(100)
# returns 98

random.randrange(0, 100, 3)
# returns 33

random.randrange(0, 100, 3)
# returns 75

random.randint(1,6)
# returns 4

random.randint(1,6)
# returns 6
0 và
import random

random.randrange(100)
# returns 65

random.randrange(100)
# returns 98

random.randrange(0, 100, 3)
# returns 33

random.randrange(0, 100, 3)
# returns 75

random.randint(1,6)
# returns 4

random.randint(1,6)
# returns 6
1 sẽ là 0 và 1 theo mặc định. Tương tự, giá trị
import random

random.randrange(100)
# returns 65

random.randrange(100)
# returns 98

random.randrange(0, 100, 3)
# returns 33

random.randrange(0, 100, 3)
# returns 75

random.randint(1,6)
# returns 4

random.randint(1,6)
# returns 6
2 mặc định là điểm trung bình của các giá trị thấp và cao, dẫn đến phân phối đối xứng.

Có rất nhiều chức năng khác cũng để tạo ra các số ngẫu nhiên dựa trên các phân phối khác nhau. Ví dụ, bạn có thể sử dụng & nbsp; ________ 67 để tạo số ngẫu nhiên dựa trên phân phối bình thường, với

import random

random.randrange(100)
# returns 65

random.randrange(100)
# returns 98

random.randrange(0, 100, 3)
# returns 33

random.randrange(0, 100, 3)
# returns 75

random.randint(1,6)
# returns 4

random.randint(1,6)
# returns 6
8 là giá trị trung bình và
import random

random.randrange(100)
# returns 65

random.randrange(100)
# returns 98

random.randrange(0, 100, 3)
# returns 33

random.randrange(0, 100, 3)
# returns 75

random.randint(1,6)
# returns 4

random.randint(1,6)
# returns 6
9 là độ lệch chuẩn.

Ví dụ Giá trị ngẫu nhiên từ phân phối xác suất

import random

random.random()
# returns 0.8053547502449923

random.random()
# returns 0.05966180559620815

random.uniform(1, 20)
# returns 11.970525425108205

random.uniform(1, 20)
# returns 7.731292430291898

random.triangular(1, 100, 80)
# returns 42.328674062298816

random.triangular(1, 100, 80)
# returns 73.54693076132074

Các mặt hàng ngẫu nhiên có xác suất có trọng số

Như chúng ta vừa thấy, có thể tạo ra các số ngẫu nhiên với phân phối đồng đều cũng như phân phối hình tam giác hoặc bình thường. Ngay cả trong một phạm vi hữu hạn như 0 đến 100, có thể tạo ra vô số phao vô hạn. Điều gì sẽ xảy ra nếu có một tập hợp các phần tử hữu hạn và bạn muốn thêm trọng lượng vào một số giá trị cụ thể trong khi chọn một số ngẫu nhiên? Tình huống này là phổ biến trong các hệ thống xổ số nơi số lượng có ít phần thưởng được cho trọng số cao.

Chọn từ một danh sách có trọng số với
>>> numbers=[12,23,45,67,65,43]
>>> random.shuffle(numbers)
>>> numbers
[23, 12, 43, 65, 67, 45]
>>> random.shuffle(numbers)
>>> numbers
[23, 43, 65, 45, 12, 67]
6

Nếu ứng dụng của bạn có thể chấp nhận được các trọng số là giá trị số nguyên, bạn có thể tạo một danh sách các yếu tố có tần số phụ thuộc vào trọng lượng của chúng. Sau đó, bạn có thể sử dụng chức năng

>>> numbers=[12,23,45,67,65,43]
>>> random.shuffle(numbers)
>>> numbers
[23, 12, 43, 65, 67, 45]
>>> random.shuffle(numbers)
>>> numbers
[23, 43, 65, 45, 12, 67]
6 để chọn một phần tử từ danh sách có trọng số này một cách ngẫu nhiên. Dưới đây là một ví dụ cho thấy việc lựa chọn số tiền giải thưởng ngẫu nhiên.

import random

w_prizes = [('$1', 300), ('$2', 50), ('$10', 5), ('$100', 1)]
prize_list = [prize for prize, weight in w_prizes for i in range(weight)]

random.choice(prize_list)
# returns '$1'

Trong trường hợp của tôi, phải mất mười thử nghiệm để nhận được giải thưởng $ 2 được chọn từ danh sách. Cơ hội nhận được giải thưởng $ 100 sẽ thấp hơn nhiều.

Chọn từ một danh sách có trọng số với
import random

ids = [1, 8, 10, 12, 15, 17, 25]

random.choice(ids)           # returns 8
random.choice(ids)           # returns 15

names = ['Tom', 'Harry', 'Andrew', 'Robert']

random.choice(names)         # returns Tom
random.choice(names)         # returns Robert

random.shuffle(names)
names                        
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

random.sample(names, 2)
# returns ['Andrew', 'Robert']

random.sample(names, 2)
# returns ['Tom', 'Robert']

names
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

2

Python cũng có một chức năng gọi là

import random

ids = [1, 8, 10, 12, 15, 17, 25]

random.choice(ids)           # returns 8
random.choice(ids)           # returns 15

names = ['Tom', 'Harry', 'Andrew', 'Robert']

random.choice(names)         # returns Tom
random.choice(names)         # returns Robert

random.shuffle(names)
names                        
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

random.sample(names, 2)
# returns ['Andrew', 'Robert']

random.sample(names, 2)
# returns ['Tom', 'Robert']

names
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

3 cho phép bạn chọn các giá trị từ phân phối có trọng số thay vì tự mình thực hiện một cái gì đó tương tự, như chúng tôi vừa làm. Nó chấp nhận bốn đối số, nhưng chỉ cần phải có một đối số đầu tiên. Chỉ cần chuyển một danh sách các giá trị duy nhất cho hàm sẽ cung cấp cho bạn một mục từ danh sách.

Như bạn có thể thấy bên dưới, mã xác suất có trọng số của chúng tôi có thể dễ dàng được viết lại để có được danh sách các giá trị bằng hàm

import random

ids = [1, 8, 10, 12, 15, 17, 25]

random.choice(ids)           # returns 8
random.choice(ids)           # returns 15

names = ['Tom', 'Harry', 'Andrew', 'Robert']

random.choice(names)         # returns Tom
random.choice(names)         # returns Robert

random.shuffle(names)
names                        
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

random.sample(names, 2)
# returns ['Andrew', 'Robert']

random.sample(names, 2)
# returns ['Tom', 'Robert']

names
# returns ['Robert', 'Andrew', 'Tom', 'Harry']

2.

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
0

Các giá trị được chọn với xác suất bằng nhau nếu bạn không cung cấp trọng số. Hàm

>>> import random
>>> random.choice('computer')
't'          
>>> random.choice([12,23,45,67,65,43])
45           
>>> random.choice((12,23,45,67,65,43))
67
0 sẽ lặp lại một số giá trị được trả về trong mẫu được chọn cuối cùng. Bạn nên lưu ý rằng điều này khác với hàm
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
5 mà chúng tôi đã thảo luận trước đó, trả về danh sách các giá trị duy nhất từ ​​độ dài đã cho. Vượt qua giá trị
import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
4 cao hơn chiều dài dân số sẽ dẫn đến
import random

random.seed(100)

random.random() 
# returns 0.1456692551041303

random.random()
# returns 0.45492700451402135
5 với
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
5 nhưng hoạt động với
>>> import random
>>> random.choice('computer')
't'          
>>> random.choice([12,23,45,67,65,43])
45           
>>> random.choice((12,23,45,67,65,43))
67
0. Đây là một ví dụ:

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
1

Hàm

>>> import random
>>> random.choice('computer')
't'          
>>> random.choice([12,23,45,67,65,43])
45           
>>> random.choice((12,23,45,67,65,43))
67
0 rất hữu ích để mô phỏng những thứ như ném tiền xu hoặc ném xúc xắc vì có khả năng lặp lại. Mặt khác,
>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
5 rất hữu ích cho những thứ như chọn mọi người ngẫu nhiên cho các đội khác nhau vì cùng một người không thể được chọn cho hai đội.

Hàm

>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
5 đã được cập nhật trong phiên bản 3.9 để chấp nhận tham số
import random

random.random()
# returns 0.8053547502449923

random.random()
# returns 0.05966180559620815

random.uniform(1, 20)
# returns 11.970525425108205

random.uniform(1, 20)
# returns 7.731292430291898

random.triangular(1, 100, 80)
# returns 42.328674062298816

random.triangular(1, 100, 80)
# returns 73.54693076132074

4 bổ sung, chỉ đơn giản là một danh sách chỉ định số lần các giá trị cụ thể được lặp lại trong dân số. Bạn có thể sử dụng tham số này để mô phỏng phân phối có trọng số.

>>> import random
>>> random.randint(1, 100)
95           
>>> random.randint(1, 100)
49
2

Điều này rất hữu ích trong các tình huống mà bạn phải chọn một cái gì đó ngẫu nhiên (ví dụ: trái cây từ một giỏ) và sau đó phân phối chúng. Sử dụng

>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
5 có nghĩa là không có khả năng chọn nhiều chuối hơn tổng số lượng có trong giỏ. Tham số
import random

random.random()
# returns 0.8053547502449923

random.random()
# returns 0.05966180559620815

random.uniform(1, 20)
# returns 11.970525425108205

random.uniform(1, 20)
# returns 7.731292430291898

random.triangular(1, 100, 80)
# returns 42.328674062298816

random.triangular(1, 100, 80)
# returns 73.54693076132074

4 cho phép chúng tôi tránh tạo ra một danh sách thực tế gồm 50 quả táo, 100 ổi, v.v.

Giữ tất cả những khác biệt tinh tế này giữa các chức năng trong tâm trí sẽ giúp bạn viết mã không thể hiện hành vi bất ngờ.

Suy nghĩ cuối cùng

Mô -đun này có thể hữu ích trong nhiều tình huống, như xáo trộn các câu hỏi trong bài tập hoặc tạo tên người dùng hoặc mật khẩu ngẫu nhiên cho người dùng của bạn bằng cách sử dụng chức năng

>>> random.randrange(1, 10)
2
>>> random.randrange(1, 10, 2)
5            
>>> random.randrange(0, 101, 10)
80
4. Bạn cũng có thể tạo các số ngẫu nhiên thống nhất, cũng như cho trọng số cho các số trong một phạm vi cụ thể. Trong hướng dẫn tiếp theo của chúng tôi, chúng tôi sẽ sử dụng các chức năng từ mô -đun này để tạo dữ liệu ngẫu nhiên để phân tích thống kê.

Bạn có một số ứng dụng thú vị của các trình tạo số ngẫu nhiên trong tâm trí có thể hữu ích cho các độc giả đồng nghiệp? Hãy cho chúng tôi biết trên diễn đàn.

Nhập ngẫu nhiên hoạt động như thế nào trong Python?

Nhập ngẫu nhiên tải mô-đun ngẫu nhiên, chứa một số hàm liên quan đến thế hệ ngẫu nhiên. Python Random () là hàm tạo số giả ngẫu nhiên tạo ra số float ngẫu nhiên trong khoảng 0,0 đến 1.0, được sử dụng bởi các hàm trong mô-đun ngẫu nhiên.. Python random() is a pseudo-random number generator function that generates a random float number between 0.0 and 1.0, is used by functions in the random module.

Là mô -đun ngẫu nhiên Python thực sự ngẫu nhiên?

Số ngẫu nhiên hoặc dữ liệu được tạo bởi mô -đun ngẫu nhiên của Python không thực sự ngẫu nhiên;Đó là giả ngẫu nhiên (đó là prng), tức là, xác định.Mô -đun ngẫu nhiên sử dụng giá trị hạt giống làm cơ sở để tạo ra một số ngẫu nhiên.not truly random; it is pseudo-random(it is PRNG), i.e., deterministic. The random module uses the seed value as a base to generate a random number.

Randint ngẫu nhiên hoạt động như thế nào trong Python?

Về cơ bản, phương thức randint () trong Python trả về giá trị số nguyên ngẫu nhiên giữa hai giới hạn thấp hơn và cao hơn (bao gồm cả hai giới hạn) được cung cấp dưới dạng hai tham số.returns a random integer value between the two lower and higher limits (including both limits) provided as two parameters.

Làm thế nào để ngẫu nhiên trong Python hoạt động?

Python xác định một tập hợp các hàm được sử dụng để tạo hoặc thao tác các số ngẫu nhiên thông qua mô -đun ngẫu nhiên.Các chức năng trong mô-đun ngẫu nhiên dựa vào hàm tạo số giả ngẫu nhiên (), tạo ra số float ngẫu nhiên trong khoảng 0,0 đến 1,0.Functions in the random module rely on a pseudo-random number generator function random(), which generates a random float number between 0.0 and 1.0.