一、random模塊的介紹
Python自帶的random模塊為生成偽隨機數提供了支持。random模塊的重要函數有:randint、random、uniform、choice、shuffle等,可以生成整數、浮點數、列表等不同類型的隨機數。
其中randint(a, b)是生成a到b之間的整數;random()是生成0~1之間的隨機小數;uniform(a, b)是生成a到b範圍內的隨機小數;choice(seq)可以在seq序列中隨機選擇一個元素;shuffle(seq)可以隨機打亂seq序列。
import random
# 生成10以內的隨機整數
randint_num = random.randint(0, 10)
print(randint_num)
# 生成0~1之間的隨機小數
random_num = random.random()
print(random_num)
# 生成1000~2000之間的隨機小數
uniform_num = random.uniform(1000, 2000)
print(uniform_num)
# 在列表中隨機選擇一個元素
my_list = [1, 2, 3, 4, 5]
random_choice = random.choice(my_list)
print(random_choice)
# 隨機打亂列表
random.shuffle(my_list)
print(my_list)
二、應用場景一:生成驗證碼
驗證碼是用於保障用戶信息安全的常見手段之一。在網站註冊、登錄、找回密碼等環節,都需要輸入驗證碼進行驗證。
利用random模塊可以很方便地生成隨機數字、字母等組成的驗證碼。下面是一個隨機生成6位數字的驗證碼的實現。
import random
def get_verification_code(length=6):
code = ''
for i in range(length):
code += str(random.randint(0, 9))
return code
print(get_verification_code())
三、應用場景二:抽獎活動
在一些抽獎活動中,需要隨機從參與者中抽取中獎者。利用random模塊可以很方便地完成抽獎活動。
下面是一個抽取10個中獎者的實現,其中為了簡化程序,參與者的名字用1~100代替。
import random
# 構造100個參與者的名單
participant_list = list(range(1, 101))
# 隨機抽取10個中獎者
winner_list = random.sample(participant_list, 10)
print(winner_list)
四、應用場景三:隨機密碼生成器
在密碼的開發過程中,需要隨機生成一些字符串作為初始密碼。利用random模塊可以生成一定長度的隨機字符串。
下面是一個隨機生成10位由數字、字母組成的密碼的實現。
import random
import string
def get_random_password(length=10):
password = ''
for i in range(length):
# 在數字、字母中隨機生成字符
password += random.choice(string.digits + string.ascii_letters)
return password
print(get_random_password())
原創文章,作者:PATI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/138821.html