python經常使用內置模塊-random模塊

random模塊:用於生成隨機數

'''關於數據類型序列相關,參照https://www.cnblogs.com/yyds/p/6123692.html'''
random()

隨機獲取0 到1 之間的浮點數,即 0.0 <= num < 1.0html

import random
# 使用random模塊,必須導入

num = random.random()
print(num)  # 0.0 <= num < 1.0
randint(m, n)

隨機獲取m 到n 之間的整數,即m <= num <= npython

num = random.randint(2, 10)
print(num)  # 2 <= num <= 10, 注意:是整數
randrange(start, stop, [step])

隨機獲取start 到stop之間的整數,且步長爲step,默認爲1。即start <= num < stopdom

默認步長時,random.randrange(1, 5) 等價於 random.randint(1, 4)code

# 默認步長
num = random.randrange(1, 5)
print(num)

# 設置步長爲2
num_step = random.randrange(1, 10, 2)
# num_step的取值範圍是:1到9之間的任意一個奇數
print(num_step)
shuffle(list)

將列表中的元素順序打亂,相似洗牌的操做(不肯定是列表仍是可迭代對象,有誤請指正)htm

code_list = ['l', 'd', 'e', 'a', 'w', 'e', 'n']
random.shuffle(code_list)  # 返回值爲None,直接在原列表中操做
print(code_list)
choice()

從一個非空序列中隨機取出一個元素返回對象

code_turple = ('l', 'd', 'e', 'a', 'w', 'e', 'n')
res = random.choice(code_turple)
print(res)

如下是一個獲取隨機驗證碼的小案例blog

'''
獲取隨機驗證碼小案例
chr(int(n)):用於將ASCⅡ碼的數值轉換成對應的字符,n的取值範圍在0~255,返回值爲字符串類型
ord(str('a')):用於將單字符字符串轉換成對應的ASCⅡ碼,返回值爲整型
在ASCⅡ碼中,數值65-90:大寫英文字符;數值97-122:小寫英文字符
'''
def get_code(n):
    '''n:生成幾位的驗證碼'''
    code = ''
    for line in range(n):
        # 隨機獲取任意一個小寫字符的ASCⅡ碼
        l_code = random.randint(97, 122)
        # 將ASCⅡ碼轉換成對應的字符
        l_code = chr(l_code)
        # 隨機獲取任意一個大寫字符的ASCⅡ碼
        u_code = random.randint(65, 90)
        # 將ASCⅡ碼轉換成對應的字符
        u_code = chr(u_code)
        # 隨機獲取任意一個0-9之間的數字
        n_code = random.randint(0, 9)
        # 將上述3個隨機字符存儲起來
        code_list = [l_code, u_code, n_code]
        # 從列表中任意取出一個
        random_code = random.choice(code_list)
        # 將字符拼接起來
        code += str(random_code)
    return code


print(get_code(5))
相關文章
相關標籤/搜索