本文目錄一覽:
- 1、Python生成8位隨機字元串的方法分析
- 2、怎麼用python隨機生成一系列字元串
- 3、Python 隨機產生[0,100]以內的隨機數,找到最大值和最小值並交換位置
- 4、python 生成隨機字元串
- 5、python如何生成隨機數、隨機字元、隨機字元串?
Python生成8位隨機字元串的方法分析
Python生成8位隨機字元串的方法分析
篇文章主要介紹了Python生成8位隨機字元串的方法,結合實例形式對比分析了2種比較常用的隨機字元串生成技巧,具有一定參考借鑒價值,需要的朋友可以參考下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
import string
#第一種方法
seed = “1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^*()_+=-“
sa = []
for i in range(8):
sa.append(random.choice(seed))
salt = ‘.join(sa)
print salt
#運行結果:l7VSbNEG
#第二種方法
salt = ‘.join(random.sample(string.ascii_letters + string.digits, 8))
print salt
#運行結果:VOuCtHZs
生成隨機字元串
在加密用戶密碼的時候,一個好方法就是產生一個隨機字元串,然後再和密碼進行混合求摘要。產生隨機字元串的方法找到了這些。
第一種比較簡單,易於理解
第二種不好理解,但很簡潔
本來我只想隨機取四個數字的,用的random.randint(1000,9999)。但是這個開頭不會出現0,有點不爽,後來找到這個文章。
怎麼用python隨機生成一系列字元串
用Python隨機生成字元串:
from random import Random
def random_str(randomlength=8): //固定長度8
str = ” //str初始為空
chars = ‘AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789’
length = len(chars) – 1
random = Random() //random模塊用於生成隨機數
for i in range(randomlength): //循環生成隨機字元串
str+=chars[random.randint(0, length)]
return str
Python 隨機產生[0,100]以內的隨機數,找到最大值和最小值並交換位置
過程如圖所示:
獲取1~100以內的隨機數有兩種方法:
方法1:可以通過Math類中的random方法獲取隨機數,再乘以100加1,然後轉換為int類型即可。
方法2:可以通過Random類中的nextInt方法獲取隨機數。
擴展資料
函數使用補充說明
1、random是用於生成隨機數的,可以利用它隨機生成數字或者選擇字元串。
random.random(),用於生成一個隨機浮點數:range[0.0,1.0)。
random.uniform(a,b),用於生成一個指定範圍內的隨機浮點數,a,b為上下限,只要a!=b,就會生成介於兩者之間的一個浮點數,若a=b,則生成的浮點數就是a。
random.randint(a,b),用於生成一個指定範圍內的整數,a為下限,b為上限,生成的隨機整數a=n=b;若a=b,則n=a;若ab,報錯。
random.randrange(, stop [,step]),從指定範圍內,按指定基數遞增的集合中獲取一個隨機數,基數預設值為1。
random.choice(sequence),從序列中獲取一個隨機元素,參數sequence表示一個有序類型,並不是一種特定類型,泛指list,tuple,字元串等。
random.shuffle(x[,random]),用於將一個列表中的元素打亂。
random.sample(sequence,k),從指定序列中隨機獲取k個元素作為一個片段返回,sample函數不會修改原有序列。
2、Python中有join()和os.path.join()兩個函數,具體作用如下:
join():連接字元串數組。將字元串、元組、列表中的元素以指定的字元(分隔符)連接生成一個新的字元串。
os.path.join():將多個路徑組合後返回。
python 生成隨機字元串
樓主看看下面的方法吧,也許能為你開闊思路
思想很簡單,從一個列表裡選取字元,選中的字母就從列表中刪除,這樣就可以避免重複了
去掉##就可以了
##import random
##
##def getstr(n):
## al=list(‘abcdefghijklmnopqrstuvwxyz’)
## st=”
## for i in range(n):
## index = random.randint(0,len(al))
## st = st + al[index]
## del al[index]
## return st
python如何生成隨機數、隨機字元、隨機字元串?
import random
import string
# 返回給定數量的隨機數列表
lst = random.sample(source, n)
參數source:從source中隨機選擇,n為數量
下面字元串可供選擇
問題簡單了
【生成n個隨機數】
numlst = [int(i) for i in random.sample(string.digits, n)]
numlst為隨機數整形列表
【生成n個隨機字元】
strlst = [i for i in random.sample(string.ascii_letters, n)]
返回一個隨機字元列表strlst。
【生成隨機字元串】
strlst = [i for i in random.sample(string.ascii_letters, n)]
把隨機字元連接起來就可以了
print(”.join(strlst))
如果需要生成的隨機字元、字元串帶有符號,則使用string.printable作為參數source傳遞給random.sample(source, n)中即可。
望採納!
原創文章,作者:OSIAP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331255.html