Cách tạo ký tự ngẫu nhiên trong Python

Viết chương trình Python tạo các ký tự chữ cái ngẫu nhiên, chuỗi chữ cái và chuỗi chữ cái có độ dài cố định

sử dụng ngẫu nhiên. sự lựa chọn

Giải pháp mẫu

Mã Python

import random
import string
print("Generate a random alphabetical character:")
print(random.choice(string.ascii_letters))
print("\nGenerate a random alphabetical string:")
max_length = 255
str1 = ""
for i in range(random.randint(1, max_length)):
    str1 += random.choice(string.ascii_letters)
print(str1)
print("\nGenerate a random alphabetical string of a fixed length:")
str1 = ""
for i in range(10):
    str1 += random.choice(string.ascii_letters)
print(str1)

Đầu ra mẫu

Generate a random alphabetical character:
e

Generate a random alphabetical string:
wxEGKdCBCkJZrFscEDXhxAovbTkPzlfCxRQCMbuvquFXyFHivyEeqNGzeWxlKZiFzVIuyKLEtPJHbvqQTpIJoMTPFUbrQjGEfXRTlQNKviduRaNDdtEbExXhdbLKiIprgdYTivZDFjk

Generate a random alphabetical string of a fixed length:
ijdvKiSWwO

Sơ đồ

Cách tạo ký tự ngẫu nhiên trong Python

Trực quan hóa việc thực thi mã Python

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Trong bài viết trước, chúng tôi đã thảo luận về cách tạo một số ngẫu nhiên trong Python. Bài đăng này cung cấp tổng quan về một số chức năng để tạo một chữ cái ngẫu nhiên trong Python

1. Sử dụng chức năng random.choice()

Hàm random.choice() được sử dụng để chọn một mục ngẫu nhiên từ trình tự đã chỉ định. Ý tưởng là sử dụng hằng số ascii_letters từ mô-đun string, nó trả về một chuỗi chứa các phạm vi A-Za-z, i. e. , chữ thường và chữ in hoa

1

2

3

4

5

6

7

nhập chuỗi, ngẫu nhiên

 

if __name__ == '__main__'.

 

    rand = ngẫu nhiên. lựa chọn(chuỗi. ascii_letters)

    in(rand)

 

Tải xuống Chạy mã

2. Sử dụng chức năng secrets.choice()

Nếu bạn cần tạo một chữ cái ngẫu nhiên được bảo mật bằng mật mã, hãy cân nhắc sử dụng hàm choice() từ mô-đun secrets

1

2

3

4

5

6

7

nhập chuỗi, bí mật

 

if __name__ == '__main__'.

 

    rand = bí mật. lựa chọn(chuỗi. ascii_letters)

    in(rand)

 

Tải xuống Chạy mã

3. Sử dụng chức năng random.randint()

Hàm random.randint(x, y) tạo số nguyên ngẫu nhiên random.choice()0 sao cho random.choice()1. Nếu bạn cần tạo một chữ cái ngẫu nhiên, bạn có thể làm như

Trong hướng dẫn ngắn này, chúng ta xem cách chúng ta có thể tạo một chuỗi ngẫu nhiên trong Python. Chúng tôi cũng xem xét tất cả các loại chuỗi khác nhau có thể được tạo

Mục lục. Chức năng tối đa của Python

  • Nhập mô-đun chuỗi và ngẫu nhiên
  • Tạo chuỗi ngẫu nhiên Python
  • Chuỗi trong các trường hợp khác nhau
  • Chuỗi bảo mật bằng mật mã
  • Bớt tư tưởng

Nhập mô-đun chuỗi và ngẫu nhiên

Để tạo chuỗi ngẫu nhiên trong Python, chúng tôi sử dụng mô-đun chuỗi và ngẫu nhiên. Mô-đun chuỗi chứa các hằng chuỗi Ascii trong nhiều trường hợp văn bản, chữ số, v.v. Mặt khác, mô-đun ngẫu nhiên được sử dụng để tạo các giá trị giả ngẫu nhiên. Trong phương pháp cuối cùng, chúng tôi sẽ sử dụng mô-đun bí mật để giúp chúng tôi tạo các chuỗi bảo mật bằng mật mã

Tạo chuỗi ngẫu nhiên Python

Chuỗi ngẫu nhiên thường được tạo và sử dụng rộng rãi. Mặc dù chúng phục vụ một số lượng lớn các trường hợp sử dụng, nhưng những trường hợp phổ biến nhất là tên người dùng giữ chỗ ngẫu nhiên, số điện thoại ngẫu nhiên, mật khẩu, v.v.

Mô-đun chuỗi

Trước khi chúng ta sử dụng mô-đun chuỗi để tạo một chuỗi ngẫu nhiên, chúng ta hãy xem xét các loại hằng chuỗi khác nhau có sẵn
  1. Sợi dây. ascii_letters - trả về một chuỗi ký tự chứa các trường hợp khác nhau
  2. Sợi dây. ascii_lowercase - trả về một chuỗi có các chữ cái viết thường
  3. Sợi dây. ascii_uppercase - trả về một chuỗi có các chữ cái in hoa
  4. Sợi dây. chữ số - trả về một chuỗi chứa chữ số
  5. Sợi dây. dấu câu - trả về một chuỗi chứa dấu câu
Tôi đã liệt kê hằng số chuỗi được sử dụng phổ biến nhất. Tuy nhiên, bạn có thể xem toàn bộ danh sách trên tài liệu mô-đun (mô-đun Chuỗi)

Mô-đun ngẫu nhiên

Mô-đun ngẫu nhiên khá đơn giản. Nó giúp chúng tôi chọn một nhân vật một cách ngẫu nhiên. Chúng tôi sử dụng phương pháp này để chọn các ký tự từ hằng chuỗi. Tuy nhiên, có hai trình tự quan trọng mà bạn nên biết
  • Ngẫu nhiên. lựa chọn - trả về các phần tử một cách ngẫu nhiên. Ở đây các ký tự không thể là duy nhất
  • Ngẫu nhiên. mẫu - trả về các phần tử duy nhất
Vì vậy, trong khi tạo một chuỗi ngẫu nhiên trong Python, nếu bạn thấy ổn với việc lặp lại các ký tự, bạn có thể sử dụng phương thức đầu tiên và phương thức thứ hai nếu bạn muốn các ký tự duy nhất

Mã và giải thích

Cú pháp để sử dụng cả hai mô-đun như sau.
import random
import string

print(random.choices(string.ascii_lowercase))
Mã này được tạo sẽ trả về một ký tự ngẫu nhiên. Bạn có thể thay đổi phương thức hằng chuỗi dựa trên các ký tự bạn muốn. Bây giờ chúng ta hãy viết mã để tạo một chuỗi có độ dài 5.
import random
import string

print(''.join(random.choices(string.ascii_lowercase, k=5)))

Đối với điều này, chúng tôi chuyển một đối số khác 'k' biểu thị kích thước của chuỗi. Phương thức này trả về một danh sách các ký tự và do đó chúng tôi sử dụng phương thức nối để chuyển đổi nó thành một chuỗi

Chuỗi trong các trường hợp khác nhau

Trong phương pháp trước, chúng tôi đã sử dụng chuỗi. ascii_chữ thường. Chúng ta hãy thử các chữ cái liên tục, chúng ta cũng có thể ghép hai loại hằng khác nhau

Chuỗi ngẫu nhiên viết hoa

import random
import string

print(''.join(random.choices(string.ascii_uppercase, k=5)))

Sử dụng chuỗi. ascii. bức thư

import random
import string

print(''.join(random.choices(string.ascii_letters, k=5)))

Nối các loại hằng chuỗi khác nhau

import random
import string

print(''.join(random.choices(string.ascii_uppercase + string.ascii_lowercase, k=5)))

Tôi chưa cung cấp đoạn mã đầu ra vì đầu ra của tôi sẽ khác với đầu ra của bạn. Ngoài ra, trong tất cả các phương pháp tôi đã sử dụng ngẫu nhiên. lựa chọn. Xin vui lòng thử nó bằng cách sử dụng ngẫu nhiên. mẫu cũng vậy

Chuỗi bảo mật bằng mật mã

Mặc dù chúng ta có thể sử dụng phương thức ngẫu nhiên để tạo chuỗi ngẫu nhiên trong Python, nhưng chuỗi được tạo không an toàn về mặt mật mã. Do đó, không nên dùng khi tạo mật khẩu tạm thời

Python phiên bản 3. 6 trở lên có cách tốt hơn để tạo chuỗi ngẫu nhiên bảo mật bằng mật mã. Phương thức này sử dụng các phương thức secret & string. Bí mật rất giống với phương pháp ngẫu nhiên, bạn có thể đọc thêm về nó tại đây

Mã và giải thích

import secrets
import string

print(''.join(secrets.choice(string.ascii_uppercase + string.ascii_lowercase) for i in range(7)))
Các phương pháp bí mật không có. phương thức lựa chọn có đối số thứ hai. Do đó, chúng tôi sử dụng một vòng lặp và lấy phạm vi cho số lượng ký tự

Suy nghĩ kết thúc - Tạo python chuỗi ngẫu nhiên

Cả hai phương thức đều có thể được sử dụng để tạo chuỗi ngẫu nhiên trong Python. Tuy nhiên, phương pháp bạn sử dụng phần lớn sẽ phụ thuộc vào trường hợp sử dụng của bạn

Một lỗi phổ biến mà tôi đã thấy những người mới bắt đầu mắc phải là quên nhập mô-đun trước khi họ sử dụng nó. Hãy ghi nhớ điều này trong khi bạn thực hành sử dụng các phương thức với nội dung chuỗi khác