如何在 Python 中生成包含大寫字母和數字的隨機字串?
您可以在 Python 中生成包含大寫字母和數字的隨機字串。以下列出了三種不同的方法。
使用 random.choices() 和 string.ascii_uppercase
在此方法中,我們將使用 random.choices() 函式從 string.ascii_uppercase 和 string.digits 字串中隨機選擇字元來生成隨機字串。
示例
我們首先匯入 random 和 string 模組,我們將分別使用它們來生成隨機字元和建立字串。
我們定義要生成的隨機字串的長度(在此示例中為 10)。
我們定義可用於建立隨機字串的可能字元,它是 string.ascii_uppercase(所有大寫字母)和 string.digits(所有數字)的組合。
我們使用 random.choices() 函式從 characters 字串中隨機選擇 k(等於隨機字串的長度)個字元。
然後,我們使用 .join() 方法將這些字元連線成單個字串。
最後,我們列印生成的隨機字串。
import random import string # define the length of the random string length = 10 # define the possible characters that can be used characters = string.ascii_uppercase + string.digits # use random.choices() to generate the random string result = ''.join(random.choices(characters, k=length)) # print the result print(result)
輸出
ZMVICXPMKQ
使用 random.choice() 和迴圈
在此方法中,我們將使用 for 迴圈和 random.choice() 函式來生成隨機字元,並將它們新增到字串中,直到達到所需的長度。
示例
我們首先匯入 random 和 string 模組,我們將分別使用它們來生成隨機字元和建立字串。
我們定義要生成的隨機字串的長度(在此示例中為 10)。
我們定義可用於建立隨機字串的可能字元,它是 string.ascii_uppercase(所有大寫字母)和 string.digits(所有數字)的組合。
我們定義一個名為 result 的空字串變數來儲存生成的隨機字元。
我們使用 for 迴圈來使用 random.choice() 函式生成新的隨機字元,並在迴圈的每次迭代中將其新增到 result 字串中,直到我們得到所需的隨機字串長度。
最後,我們列印生成的隨機字串。
import random
import string
# define the length of the random string
length = 10
# define the possible characters that can be used
characters = string.ascii_uppercase + string.digits
# define an empty string to hold the random characters
result = ''
# use a loop to generate the random string
for i in range(length):
result += random.choice(characters)
# print the result
print(result)
輸出
Y9V1OVO4H4
使用 uuid.uuid4() 和 str.replace()
在此方法中,我們將使用 uuid.uuid4() 函式生成一個隨機 UUID(通用唯一識別符號),然後使用 str.replace() 方法刪除連字元並將字串轉換為所有大寫字母。
示例
我們匯入 uuid 模組,我們將使用它來生成隨機 UUID。
我們使用 uuid.uuid4() 函式生成一個隨機 UUID,並使用 str() 方法將其轉換為字串。
我們使用 .replace() 方法刪除 UUID 字串中的連字元,並用空字串替換它們。
import uuid
# generate a random UUID
random_uuid = str(uuid.uuid4())
# remove the hyphens and convert to uppercase letters
result = random_uuid.replace('-', '').upper()
# print the result
print(result)
輸出
3D9FF7622A494CABA861D0EE62547BED
使用 random.sample() 和 string.ascii_uppercase
在此方法中,我們將使用 random.sample() 函式從 string.ascii_uppercase 和 string.digits 字串中隨機選擇 k 個字元(其中 k 是所需的隨機字串長度)。
示例
我們首先匯入 random 和 string 模組,我們將分別使用它們來生成隨機字元和建立字串。
我們定義要生成的隨機字串的長度(在此示例中為 10)。
我們定義可用於建立隨機字串的可能字元,它是 string.ascii_uppercase(所有大寫字母)和 string.digits(所有數字)的組合。
我們使用 random.sample() 函式從 characters 字串中隨機選擇 k(等於隨機字串的長度)個字元。
然後,我們使用 .join() 方法將這些字元連線成單個字串。
最後,我們列印生成的隨機字串。
import random import string # define the length of the random string length = 10 # define the possible characters that can be used characters = string.ascii_uppercase + string.digits # use random.sample() to generate the random string result = ''.join(random.sample(characters, k=length)) # print the result print(result)
輸出
VJMFQO43XL
使用 random.randint() 和 chr()
在此方法中,我們將使用 random.randint() 函式生成 '0' 和 'Z' 的 ASCII 碼之間的隨機整數,然後使用 chr() 函式將這些整數轉換為相應的 ASCII 字元。
示例
我們匯入 random 模組,我們將使用它來生成隨機整數和字元。
我們定義要生成的隨機字串的長度(在此示例中為 10)。
我們使用 random.randint() 函式生成 '0'(其 ASCII 碼為 48)和 'Z'(其 ASCII 碼為 90)之間的隨機整數,然後使用 chr() 函式將其轉換為相應的 ASCII 字元。
我們使用 for 迴圈對所需的隨機字串長度重複此過程,並將這些字元連線成單個字串,使用 .join() 方法。
最後,我們列印生成的隨機字串。
import random # define the length of the random string length = 10 # use random.randint() and chr() to generate the random string result = ''.join(chr(random.randint(48, 90)) for _ in range(length)) # print the result print(result)
輸出
W0FW?RL2?Z
這些是如何在 Python 中生成包含大寫字母和數字的隨機字串的一些示例。您可以選擇最適合您的需求和偏好的方法。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP