Lựa chọn ngẫu nhiên mà không lặp lại python

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tạo số ngẫu nhiên không lặp lại trong python. Dưới đây là các phương pháp để hoàn thành nhiệm vụ này

  • Sử dụng các hàm randint() & append()

  • Sử dụng ngẫu nhiên. phương thức sample() của danh sách đã cho

  • Sử dụng ngẫu nhiên. phương thức sample() của một dãy số

  • Sử dụng ngẫu nhiên. lựa chọn() phương pháp

Sử dụng các hàm randint() & append()

Thuật toán (Các bước)

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Sử dụng từ khóa nhập để nhập mô-đun ngẫu nhiên

  • Tạo một danh sách trống là danh sách số ngẫu nhiên kết quả

  • Sử dụng vòng lặp for để duyệt qua vòng lặp 15 lần

  • Sử dụng hàm randint()(Trả về một số ngẫu nhiên trong phạm vi đã chỉ định) của mô-đun ngẫu nhiên, để tạo một số ngẫu nhiên trong phạm vi trong phạm vi đã chỉ định i. đ, từ 1 đến 100

  • Sử dụng câu lệnh điều kiện if để kiểm tra xem số ngẫu nhiên đã tạo có nằm trong Danh sách ngẫu nhiên kết quả hay không với các toán tử not và in

  • Sử dụng hàm append() (thêm phần tử vào cuối danh sách) để nối thêm số ngẫu nhiên vào danh sách kết quả, nếu điều kiện là đúng

  • In danh sách số ngẫu nhiên kết quả

Thí dụ

Chương trình sau đây trả về các số ngẫu nhiên không lặp lại bằng cách sử dụng các hàm randint(), append() −

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

non-repeating random numbers are:
[84, 86, 90, 94, 59, 33, 58, 36, 62, 50, 26, 38, 4, 89]

Sử dụng ngẫu nhiên. phương thức sample() của danh sách đã cho

sự ngẫu nhiên. phương thức sample() trả về một danh sách chứa một số phần tử được chọn ngẫu nhiên từ một chuỗi

cú pháp

random.sample(sequence, k)

Thông số

  • trình tự (bắt buộc) - bất kỳ trình tự nào như danh sách, bộ dữ liệu, v.v.

  • k (tùy chọn) - Độ dài của danh sách được trả về dưới dạng số nguyên

Thuật toán (Các bước)

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Sử dụng từ khóa nhập để nhập mô-đun ngẫu nhiên

  • Tạo một biến để lưu trữ một danh sách đầu vào

  • Sử dụng hàm set() (trả về tất cả các mục riêng biệt từ một lần lặp và chuyển đổi một lần lặp thành đặt), để xóa các phần tử lặp lại khỏi danh sách đầu vào

  • Sử dụng hàm list() (chuyển đổi chuỗi/có thể lặp lại thành danh sách), để chuyển đổi tập hợp trên thành danh sách. Bây giờ danh sách chỉ có các yếu tố duy nhất

  • Sử dụng hàm sample() bằng cách chuyển danh sách chứa các mục duy nhất, giá trị k làm đối số để in k (ở đây 4) số ngẫu nhiên từ danh sách không lặp lại

Thí dụ

Chương trình sau trả về 4 số ngẫu nhiên không lặp lại bằng cách sử dụng ngẫu nhiên. hàm mẫu () -

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

4 non-repeating random numbers from the list are:
[7, 2, 4, 8]

Sử dụng ngẫu nhiên. phương thức sample() của một dãy số

Thuật toán (Các bước)

Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -

  • Sử dụng từ khóa nhập để nhập mô-đun ngẫu nhiên

  • Lấy các số trong khoảng xác định i. e, ở đây 1 đến 100 sử dụng hàm range()(Hàm range() trả về một dãy số bắt đầu từ 0 và tăng dần 1 (mặc định) và dừng trước một số đã cho)

  • Sử dụng hàm sample() bằng cách chuyển phạm vi danh sách số đã cho, giá trị k làm đối số để in ra k (ở đây 4) số ngẫu nhiên từ danh sách không lặp lại

Thí dụ

Chương trình sau trả về 4 số ngẫu nhiên không lặp lại bằng cách sử dụng ngẫu nhiên. hàm mẫu () -

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

4 non-repeating random numbers are:
[67, 50, 61, 47]

Sử dụng ngẫu nhiên. lựa chọn() phương pháp

Mô-đun ngẫu nhiên chứa ngẫu nhiên. lựa chọn() phương pháp. Sẽ rất hữu ích khi chọn nhiều mục từ danh sách hoặc một mục từ một trình tự cụ thể

cú pháp

random.choices(sequence, k)

Thông số

  • trình tự (bắt buộc) - bất kỳ trình tự nào như danh sách, bộ dữ liệu, v.v.

  • k (tùy chọn) - Độ dài của danh sách được trả về dưới dạng số nguyên

Thí dụ

Chương trình sau trả về 4 số ngẫu nhiên không lặp lại bằng cách sử dụng ngẫu nhiên. chức năng lựa chọn () -

đầu ra

Khi thực thi, chương trình trên sẽ tạo đầu ra sau -

4 non-repeating random numbers are:
[71, 4, 12, 21]

Sự kết luận

Trong hướng dẫn này, chúng ta đã học cách tạo các số không lặp lại trong Python bằng bốn cách khác nhau. Chúng tôi đã học cách tạo các số không lặp lại không có trong danh sách. Chúng tôi đã học Cách xác định xem một phần tử có được đưa vào danh sách hay không để tạo số nguyên không lặp lại

Làm cách nào để chọn các phần tử ngẫu nhiên từ danh sách Python mà không cần lặp lại?

Mô-đun ngẫu nhiên của Python cung cấp một hàm sample() để lấy mẫu ngẫu nhiên, chọn ngẫu nhiên nhiều phần tử từ danh sách mà không lặp lại các phần tử. Nó trả về một danh sách các mục duy nhất được chọn ngẫu nhiên từ danh sách, chuỗi hoặc bộ.

Làm cách nào để chọn ngẫu nhiên từ danh sách trong Python mà không cần thay thế?

Sử dụng ngẫu nhiên. hàm sample() khi bạn muốn chọn nhiều mục ngẫu nhiên từ danh sách mà không lặp lại hoặc trùng lặp. Có sự khác biệt giữa lựa chọn() và lựa chọn(). Các lựa chọn () đã được thêm vào Python 3. 6 để chọn ngẫu nhiên n phần tử từ danh sách, nhưng chức năng này có thể lặp lại các mục.