# encoding: utf-8
"""
@author: sunxianpeng
@file: random.py
@time: 2019/12/2 17:39
"""
import random
def random_float_num():
"""隨機生成浮點數:有兩種,一種沒有參數,默認(0-1),另一種可以指定隨機生成的浮點數範圍。"""
print("######################隨機生成浮點數#######################")
#
# #從0~1中間隨機產生一個小數點後16位的浮點數
print('random.random = {}'.format(random.random()))
# 從1~3中間隨機產生一個小數點後16位的浮點數
print('random.uniform = {}'.format(random.uniform(10,20)))
# random.random = 0.21846360217280592
# random.uniform = 11.69708818020138
def random_range_int():
"""隨機生成指定範圍的整數:有兩種方法,第二種除了可以指定範圍,還可以指定步長。"""
print("###################隨機生成指定範圍的整數#####################")
print('random.randint = {}'.format(random.randint(1,10)))
print('random.randrange = {}'.format(random.randrange(10, 20)))
print('random.randrange = {}'.format(random.randrange(10, 20,5)))
#random.randint = 4
# random.randrange = 19
# random.randrange = 15
def random_choice():
"""隨機生成指定樣式中的元素:樣式可以是字符串、元組、列表。"""
print("###################隨機生成指定樣式中的元素######################")
# 從列表中隨機選擇一個元素
list_1 = [1,2,'a','b']
print('random.choice list_1 = {}'.format(random.choice(list_1)))
# 從列表中隨機選擇一個元素組成一個新列表
list_2 = [1,2,3,4]
print('random.choices list_2 = {}'.format(random.choices(list_2)))
str_1 = 'abcdefg'
print('random.choice str_1 = {}'.format(random.choice(str_1)))
tup_1 = (1,2,3,4)
print('random.choice tup_1 = {}'.format(random.choice(tup_1)))
#random.choice list_1 = 2
# random.choice list_2 = 1
# random.choice str_1 = d
# random.choice tup_1 = 4
def random_sample():
"""隨機生成指定數目的指定樣式中的元素:樣式可以是字符串、元組、列表、集合。"""
print("#################隨機生成指定數目的指定樣式中的元素###################")
# 必須指定選擇的元素個數,
str_1 = 'abcdefg'
print('random.sample str_1 = {}'.format(random.sample(str_1,2)))
tup_1 = (1,2,3,4)
print('random.sample tup_1 = {}'.format(random.sample(tup_1, 3)))
list_1 = [1,2,3,4,5,6,7,8,9]
print('random.sample list_1 = {}'.format(random.sample(list_1, 3)))
#random.sample str_1 = ['a', 'd']
# random.sample tup_1 = [3, 2, 4]
# random.sample list_1 = [4, 5, 2]
def random_shuffle():
"""將列表的元素的順序打亂:類似於生活中的洗牌,此方法返回值爲空,將改變原來列表"""
print("######################將列表的元素的順序打亂######################")
item = [1,2,3,4,5,6]
print('before shuffle sequence = {}'.format(item))
random.shuffle(item)
print('after shuffle sequence = {}'.format(item))
#before shuffle sequence = [1, 2, 3, 4, 5, 6]
# after shuffle sequence = [6, 3, 4, 2, 1, 5]
def getSixNumVerificationCode():
print("###################隨機生成六位數字驗證碼####################")
"""隨機生成六位數字驗證碼"""
captcha = ''
for i in range(6):
num = random.randint(0,9)
captcha += str(num)
print(captcha)# 886515
if __name__ == '__main__':
#1、 隨機生成浮點數
random_float_num()
#2、隨機生成指定範圍的整數
random_range_int()
# 3、隨機生成指定樣式中的元素
random_choice()
# 4、隨機生成指定數目的指定樣式中的元素
random_sample()
# 5、將列表的元素的順序打亂
random_shuffle()
# 6、隨機生成六位數字驗證碼
getSixNumVerificationCode()