寫(xiě)在前面
前文回顧:【LeetCode】貪心算法--買(mǎi)賣(mài)股票的最佳時(shí)機(jī) II(122)
前兩天做了一個(gè)隨機(jī)生成密碼的課后練習(xí)題,題目挺簡(jiǎn)單蘸泻,但是這個(gè)題目卻有兩個(gè)比較重要的知識(shí)點(diǎn)Random和String模塊琉苇,今天就跟大家聊一聊這兩個(gè)知識(shí)點(diǎn)嘲玫。話不多說(shuō)悦施,我們開(kāi)始吧。
具體介紹
題目描述: 隨機(jī)密碼生成去团。編寫(xiě)程序抡诞,在26個(gè)字母大小寫(xiě)和9個(gè)數(shù)字組成的列表中隨機(jī)生成10個(gè)八位密碼。
這個(gè)題并不難只要?jiǎng)?chuàng)建一個(gè)包含26個(gè)字母大小寫(xiě)和9個(gè)數(shù)字的列表然后用Random隨機(jī)生成就可以了土陪。下面是自己的代碼:
1#隨機(jī)密碼生成
2import random
3import string
4a=0
5while a<11:
6 #從a-zA-Z0-9生成指定數(shù)量的隨機(jī)字符
7 str = ''.join(random.sample(string.ascii_letters + string.digits,8))
8 print (str)
9 a+=1
代碼量可以說(shuō)是非常小昼汗,那么現(xiàn)在我給大家講解一下Random和String模塊,兩者的組合在現(xiàn)實(shí)生活中有很多應(yīng)用鬼雀,比如生成激活碼顷窒。
Random庫(kù) 隨機(jī)數(shù)在計(jì)算機(jī)應(yīng)用中十分常見(jiàn),python內(nèi)置的random庫(kù)主要用于產(chǎn)生各種分布的偽隨機(jī)數(shù)列源哩。random庫(kù)采用梅森旋轉(zhuǎn)算法生成偽隨機(jī)數(shù)序列鞋吉,可用于除隨機(jī)性要求更高的加解密算法外的大多數(shù)工程應(yīng)用,之前的Python人工造雪2.0(動(dòng)態(tài)版)就是應(yīng)用random隨機(jī)數(shù)實(shí)現(xiàn)動(dòng)態(tài)的雪花励烦。
random庫(kù)中主要有以下常用的函數(shù)
1.隨機(jī)整數(shù):
1random.randint(1,50)
2.隨機(jī)選取0到100間的偶數(shù):
1random.randrange(0, 101, 2)
3.隨機(jī)浮點(diǎn)數(shù):
1random.random()2random.uniform(1,10)
4.隨機(jī)字符:
1random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')
5.多個(gè)字符中生成指定數(shù)量的隨機(jī)字符:
1random.sample('zyxwvutsrqponmlkjihgfedcba',5)
6.隨機(jī)選取字符串:
1random.choice(['剪刀', '石頭', '布'])
7.打亂排序
1items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]2random.shuffle(items)
String模塊 任何語(yǔ)言都離不開(kāi)字符谓着,那就會(huì)涉及對(duì)字符的操作,尤其是腳本語(yǔ)言更是頻繁坛掠,不管是生產(chǎn)環(huán)境還是面試考驗(yàn)都要面對(duì)字符串的操作赊锚。python的字符串操作通過(guò)2部分的方法函數(shù)基本上就可以解決所有的字符串操作需求:
1.python的字符串屬性函數(shù)
這主要介紹幾個(gè)常用的方法
str.capitalize() :把字符串的首字母大寫(xiě)
str.center(width):將原字符串用空格填充成一個(gè)長(zhǎng)度為width的字符串
str.count(s) :返回字符串s在str中出現(xiàn)的次數(shù)
str.lower():全部字符小寫(xiě)
str.upper():全部字符大寫(xiě)
str.format():返回字符串的一種排版格式
2.python的string模塊
Python3中String模塊ascii_letters和digits方法,其中ascii_letters是生成所有字母屉栓,從a-z和A-Z,digits是生成所有數(shù)字0-9舷蒲。
string.punctuation 所有標(biāo)點(diǎn)字符 string.whitespace 空白字符\t\n\x0b string.printable 可打印的字符字符串 包含數(shù)字字母標(biāo)點(diǎn)符號(hào)
寫(xiě)在最后
今天這篇文章是由一道練習(xí)題延伸出來(lái)的知識(shí)點(diǎn),簡(jiǎn)單的談了談常用的方法友多,希望能給大家?guī)?lái)一點(diǎn)幫助阿纤。
【推薦閱讀】
【Python爬蟲(chóng)】初識(shí)爬蟲(chóng)(1)
【LeetCode】貪心算法--買(mǎi)賣(mài)股票的最佳時(shí)機(jī) II(122)