python3 生成特定長(zhǎng)度的數(shù)字钢猛、字母和特殊字符混合的字符串

1、生成固定長(zhǎng)度的數(shù)字衍慎、字母和特殊字符混合的字符串(定義一個(gè)類转唉,寫在方法里)

import string

import random

class test():

? ? def function(self):

? ? ? ? list = [chr(i) for i in range(65,91)] + [chr(i) for i in range(97,123)] + [ str(i) for i in range(10)] + ['.','-','~','_']?

#大寫字母+小寫字母+數(shù)字 +特殊字符

? ? ? ? num = random.sample(list,10)? #輸出10個(gè)固定長(zhǎng)度的組合字符

? ? ? ? str1=''

? ? ? ? value = str1.join(num) #將取出的十個(gè)隨機(jī)數(shù)進(jìn)行重新合并

? ? ? ? print (value)

#這里定義了類和方法,如果只要功能稳捆,直接取方法里的內(nèi)容即可

a = test()

a.function()

2赠法、生成固定長(zhǎng)度不以數(shù)字開頭的數(shù)字、字母和特殊字符混合的字符串(直接寫)

import random

list = [chr(i) for i in range(65,91)] + [chr(i) for i in range(97,123)] + [ str(i) for i in range(10)] + ['.','-','~','_']?

#大寫字母+小寫字母+數(shù)字 +特殊字符

num = random.sample(list,10)? #輸出10個(gè)固定長(zhǎng)度的組合字符

str1=''?

value = str1.join(num) #將取出的十個(gè)隨機(jī)數(shù)進(jìn)行重新合并?

if not value[0].isdigit():?

? ? print (value)

3乔夯、生成可自定義長(zhǎng)度的數(shù)字砖织、字母和特殊字符混合的字符串(有參數(shù),可直接放在代碼里末荐,不用擔(dān)心函數(shù)返回‘NONE’)

import random

def strGen(num):

? ? ? ? list1= [chr(i) for i in range(65,91)] + [chr(i) for i in range(97,123)] + [ str(i) for i in range(10)] + ['.','-','~','_']

? ? ? ? value=""

? ? ? ? for i in range(num):

? ? ? ? ? ? value = value + list1[random.randint(0, len(list1)-1)]

? ? ? ? return value


strGen(random.randint(1,100)) #隨機(jī)取[1,100]之間的數(shù)字,對(duì)應(yīng)生成相應(yīng)的字符

下面這么寫侧纯,更清楚:

a = random.randint(1,100)

print(a)

print(strGen(a))


注意:

1、python類里的方法都要加個(gè)self變量鞠评,否則會(huì)報(bào)錯(cuò)

Traceback (most recent call last): TypeError: function() takes 0 positional arguments but 1 was given

2茂蚓、方法寫在類里壕鹉,如果沒有創(chuàng)建對(duì)象剃幌,會(huì)報(bào)找不到方法的錯(cuò)誤

Traceback (most recent call last): NameError: name 'openUrl' is not defined

鏈接:莫依痕? http://www.reibang.com/p/2aed19406328

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

其它:

 隨機(jī)選取列表中三個(gè)元素字符串

  import random

  table = ['剪刀', '石頭', '布']

  print(random.choice(table))

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# 需求如下:

# 生成包含數(shù)字聋涨,大小寫和特殊字符的字符串,總長(zhǎng)度為8负乡,數(shù)字牍白,大小寫,特殊字符至少都要有一位

# 生成包含數(shù)字抖棘,開頭可以是(大小寫或數(shù)字或特殊字符的字符串)茂腥,總長(zhǎng)度為8,數(shù)字切省,大小寫最岗,特殊字符至少都要有一位

# 代碼如下

import random,string#調(diào)用random、string模塊

def GenPass():

????src_digits = string.digits#string_數(shù)字'0123456789'

? ? src_uppercase = string.ascii_uppercase#string_大寫字母'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

? ? src_lowercase = string.ascii_lowercase#string_小寫字母'abcdefghijklmnopqrstuvwxyz'

? ? src_special = string.punctuation#string_特殊字符'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

? ? #sample從序列中選擇n個(gè)隨機(jī)獨(dú)立的元素朝捆,返回列表

? ? num = random.sample(src_digits,1)#隨機(jī)取1位數(shù)字

? ? lower = random.sample(src_uppercase,1)#隨機(jī)取1位小寫字母

? ? upper = random.sample(src_lowercase,1)#隨機(jī)取1位大寫字母

? ? special = random.sample(src_special,1)#隨機(jī)取1位大寫字母特殊字符

? ? other = random.sample(string.ascii_letters+string.digits+string.punctuation,4)#隨機(jī)取4位

? ? # 生成字符串

? ? #print(num, lower, upper, special, other)

? ? #下面可以調(diào)整變量順序

? ? pwd_list = num + lower + upper + special + other

# shuffle將一個(gè)序列中的元素隨機(jī)打亂般渡,打亂字符串;去掉下面一行芙盘,就可自定義字符串開頭的'字符'

#random.shuffle(pwd_list)

? ? # 列表轉(zhuǎn)字符串

? ? password_str =''.join(pwd_list)

????print(password_str)

GenPass()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末驯用,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子儒老,更是在濱河造成了極大的恐慌蝴乔,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驮樊,死亡現(xiàn)場(chǎng)離奇詭異薇正,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)囚衔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門铝穷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人佳魔,你說我怎么就攤上這事曙聂。” “怎么了鞠鲜?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵宁脊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我贤姆,道長(zhǎng)榆苞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任霞捡,我火速辦了婚禮坐漏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己赊琳,他們只是感情好街夭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著躏筏,像睡著了一般板丽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趁尼,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天埃碱,我揣著相機(jī)與錄音,去河邊找鬼酥泞。 笑死砚殿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芝囤。 我是一名探鬼主播瓮具,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼凡人!你這毒婦竟也來了名党?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤挠轴,失蹤者是張志新(化名)和其女友劉穎传睹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岸晦,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欧啤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了启上。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邢隧。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冈在,靈堂內(nèi)的尸體忽然破棺而出倒慧,到底是詐尸還是另有隱情,我是刑警寧澤包券,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布纫谅,位于F島的核電站,受9級(jí)特大地震影響溅固,放射性物質(zhì)發(fā)生泄漏付秕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一侍郭、第九天 我趴在偏房一處隱蔽的房頂上張望询吴。 院中可真熱鬧掠河,春花似錦、人聲如沸猛计。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)有滑。三九已至,卻和暖如春嵌削,著一層夾襖步出監(jiān)牢的瞬間毛好,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工苛秕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肌访,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓艇劫,卻偏偏與公主長(zhǎng)得像吼驶,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子店煞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容