建立randpass.py指令碼,要求如下:
編寫乙個能生成8位隨機密碼的程式
使用random的choice函式隨機取出字元
改進程式,使用者可以自己決定生成多少位的密碼
匯入random模組,通過random靜態物件呼叫choice()方法,從自定義字串all_chs中獲取隨機項,將獲取到的隨機字元ch與原result值進行拼接,將最終字串結果返回給函式,for迴圈每迴圈一次獲取乙個隨機字元,密碼位數由迴圈次數決定,迴圈次數由傳遞引數值決定。
此程式需要注意的部分在於:
1.匯入string模組,其中ascii_letters是生成所有字母,從a-z和a-z,digits是生成所有數字0-9
2.將整個生成隨機密碼的**封裝進gen_pass()函式中,當模組檔案直接執行時,呼叫函式即可輸出結果
3.引數傳遞問題:呼叫函式無實參時,函式呼叫預設引數,有實參時,函式呼叫實際引數
實現此案例需要按照如下步驟進行。
步驟一:編寫指令碼
vim randpass.py
#!/usr/bin/env python3
import random
import string
all_chs = string.digits + string.ascii_letters
def gen_pass(n=8):
result = ''
for i in range(n):
ch = random.choice(all_chs)
result += ch
return result
if __name__ == '__main__':
print(gen_pass())
print(gen_pass(4))
步驟二:測試指令碼執行
python3 randpass.py
82wi2gop
xzmi
[root@localhost day03]# python3 randpass.py
5wmodegc
bdpc
[root@localhost day03]# python3 randpass.py
ige2vgod
az0z
[root@localhost day03]# python3 randpass2.py
eajaocmh
edw1
Python 隨機密碼生成
第一步 匯入 random 和 string 庫 匯入 random 和 string 庫 import random import string 第二步 設定變數 a 與變數 key 設定變數 a 與變數 key a string.ascii letters string.digits key 第...
生成隨機密碼
編寫乙個函式,用於生成隨機密碼,入參為隨機密碼的長度,出參為生成的隨機密碼,要求生成的隨機密碼必須同時包含大寫字母小寫字母數字。生成隨機碼,引數為隨機碼長度,同時包含大小寫字母和數字 public string getrandomnum int length listlist new arrayli...
隨機密碼生成(Python程式設計)
一 問題描述。編寫程式。在26個字母大小寫和9個數字組成的列表中隨機生成10個8位密碼。二 問題分析。因為要在列表中隨機生成密碼,故需要將26個大 小寫字母和9個數字存放在同乙個列表中。首先使用string模組中的ascii letters和digits方法來引入大 小寫字母與0 9的數字,然後用l...