python 窮舉指定長度的密碼例子
本程序可根據(jù)給定的字符字典,窮舉指定長度的所有字符串:
def get_pwd(str, num): if(num == 1): for x in str: yield x else: for x in str: for y in get_pwd(str, num-1): yield x+y strKey='abc'for x in get_pwd(strKey,3): print x
結(jié)果:
aaaaabaacabaabbabcacaacbaccbaababbacbbabbbbbcbcabcbbcccaacabcaccbacbbcbcccaccbccc
本程序占用內(nèi)存小,生成速度快,歡迎嘗試!!!
補充知識:Python 窮舉法, 二分法 與牛頓-拉夫遜方法求解平方根的性能對比
窮舉法, 二分法 與牛頓-拉夫遜方法求解平方根的優(yōu)劣,從左到右依次遞優(yōu)。
經(jīng)過測試,窮舉法基本超過 1 分鐘,還沒有出數(shù)據(jù);
二分法只要區(qū)區(qū)1秒不到就出結(jié)果了。
牛頓-拉夫遜是秒出,沒有任何的停頓。
numberTarget =int(input('Please enter a number:'))numberSqureRoot = 0while(numberSqureRoot<abs(numberTarget)): if numberSqureRoot**2 >= abs(numberTarget): break numberSqureRoot = numberSqureRoot + 1if numberSqureRoot**2 != numberTarget: print('Your number %s is not a perfect squre, the square root is %s ' % ( numberTarget,numberSqureRoot) )else: if numberTarget < 0 : numberSqureRoot = -numberSqureRoot print('Your number %s is a perfect squre, the square root is %s ' % ( numberTarget, numberSqureRoot))print('now we begin to calculate the binary search...')numberTarget=int(input('Please enter the number for binary search...'))numberSqureRoot = 0lowValue = 0.0highValue=numberTarget*1.0epsilon = 0.01numberSqureRoot = (highValue + lowValue)/2while abs(numberSqureRoot**2 - numberTarget) >=epsilon: print('lowValue:%s, highValue:%s, currentValue:%s'%(lowValue,highValue,numberSqureRoot)) if numberSqureRoot**2<numberTarget: lowValue=numberSqureRoot else: highValue=numberSqureRoot numberSqureRoot = (lowValue+highValue) /2print('The number %s has the squre root as %s ' %(numberTarget,numberSqureRoot))print('now we begin to calculate the newTon search...')numberTarget=int(input('Please enter the number for newTon search...'))numberSqureRoot = 0epsilon = 0.01k=numberTargetnumberSqureRoot = k/2.0while( abs(numberSqureRoot*numberSqureRoot - k)>=epsilon): numberSqureRoot=numberSqureRoot-(((numberSqureRoot**2) - k)/(2*numberSqureRoot))print('squre root of %s is %s ' %(numberTarget,numberSqureRoot))
以上這篇python 窮舉指定長度的密碼例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. python 實現(xiàn)圖片修復(fù)(可用于去水印)2. Android自定義控件實現(xiàn)方向盤效果3. asp讀取xml文件和記數(shù)4. 低版本IE正常運行HTML5+CSS3網(wǎng)站的3種解決方案5. XHTML 1.0:標(biāo)記新的開端6. Java 生成帶Logo和文字的二維碼7. xml中的空格之完全解說8. python中的socket實現(xiàn)ftp客戶端和服務(wù)器收發(fā)文件及md5加密文件9. 怎樣才能用js生成xmldom對象,并且在firefox中也實現(xiàn)xml數(shù)據(jù)島?10. 基于javaweb+jsp實現(xiàn)企業(yè)財務(wù)記賬管理系統(tǒng)
