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)存小,生成速度快,歡迎嘗試!!!
補(bǔ)充知識: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. XML入門精解之結(jié)構(gòu)與語法2. jsp文件下載功能實(shí)現(xiàn)代碼3. React優(yōu)雅的封裝SvgIcon組件示例4. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera5. ASP中格式化時間短日期補(bǔ)0變兩位長日期的方法6. jsp+servlet實(shí)現(xiàn)猜數(shù)字游戲7. ASP基礎(chǔ)知識Command對象講解8. ASP腳本組件實(shí)現(xiàn)服務(wù)器重啟9. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財務(wù)記賬管理系統(tǒng)10. jsp+mysql實(shí)現(xiàn)網(wǎng)頁的分頁查詢
