使用Python生成200個(gè)激活碼的實(shí)現(xiàn)方法
題目:使用 Python 生成 200 個(gè)不重復(fù)的激活碼
編寫思路
# 激活碼一般是由26個(gè)大寫字母和10個(gè)數(shù)字任意組合而成
# 長(zhǎng)度為12位或者16位的居多激活碼
# 一個(gè)激活碼里的字符是可以重復(fù)的,而且必須要保證激活碼是不能重復(fù)的
測(cè)試用例
# 1、隨機(jī)生成字符:數(shù)字加字母
# 2、生成200個(gè)
# 3、去重
編碼:
第一步:隨機(jī)生成16位字母跟數(shù)字的字符串
1.調(diào)用ramdom模塊,使用了import random
2.choice() 方法返回一個(gè)列表,元組或字符串的隨機(jī)項(xiàng)
使用了random.choice(seed),從seed中隨機(jī)獲取字符串
3.join() 方法用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串
join()方法語法:str.join(sequence)
使用"".join(sa)將隨機(jī)生成的16個(gè)字符串連接在一起
import random
# 生成16位字符串
def random_str():
seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
sa = []
for i in range(16):
sa.append(random.choice(seed))
salt = "".join(sa)
print(salt)
return salt
第二步:生成200個(gè)字符串
使用for循環(huán),調(diào)用random_str()函數(shù)
for i in range(200):
L.append(random_str())
第三部:刪除重復(fù)的激活碼
1.添加刪除重復(fù)激活碼函數(shù)
當(dāng)兩個(gè)激活碼相同時(shí),打印出重復(fù)激活碼,并對(duì)該激活碼進(jìn)行標(biāo)識(shí)
2.刪除重復(fù)激活碼
對(duì)標(biāo)識(shí)過的激活碼進(jìn)行刪除
def Removal():
for i in range(200):
for j in range(i+1,200):
if L[i] == L[j]:
print("重復(fù)的激活碼:", L[i])
L[i] = '-1'
i = 0
while i < len(L):
if L[i] == '-1':
print("刪除重復(fù)元素", L[i])
L.remove(L[i])
i -= 1
else:
i +=1
完整代碼如下:
import random
# 生成16位字符串
def random_str():
seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
sa = []
for i in range(16):
sa.append(random.choice(seed))
salt = "".join(sa)
print(salt)
return salt
# 去除重復(fù)激活碼
def Removal():
for i in range(200):
for j in range(i+1,200):
if L[i] == L[j]:
print("重復(fù)的激活碼:", L[i])
L[i] = '-1'
if __name__ =="__main__":
L = []
for i in range(200):
L.append(random_str()) #生成兩百個(gè)激活碼
L[0] = L[1] #校驗(yàn)L[0]=L[1]時(shí),是否刪除重復(fù)
Removal()
i = 0
while i < len(L):
if L[i] == '-1':
print("刪除重復(fù)元素", L[i])
L.remove(L[i])
i -= 1
else:
i +=1
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python二叉搜索樹與雙向鏈表轉(zhuǎn)換實(shí)現(xiàn)方法
這篇文章主要介紹了Python二叉搜索樹與雙向鏈表轉(zhuǎn)換實(shí)現(xiàn)方法,涉及Python二叉搜索樹的定義、實(shí)現(xiàn)以及雙向鏈表的轉(zhuǎn)換技巧,需要的朋友可以參考下2016-04-04
淺談python3發(fā)送post請(qǐng)求參數(shù)為空的情況
今天小編就為大家分享一篇淺談python3發(fā)送post請(qǐng)求參數(shù)為空的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python中數(shù)字列表轉(zhuǎn)化為數(shù)字字符串的實(shí)例代碼
先前學(xué)習(xí)過,數(shù)字和字符串都可以存儲(chǔ)到變量當(dāng)中,下面這篇文章主要給大家介紹了關(guān)于python中數(shù)字列表轉(zhuǎn)化為數(shù)字字符串的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
基于Python實(shí)現(xiàn)人臉識(shí)別和焦點(diǎn)人物檢測(cè)功能
基于dlib庫的模型,實(shí)現(xiàn)人臉識(shí)別和焦點(diǎn)人物的檢測(cè)。最后呈現(xiàn)的效果為焦點(diǎn)人物的識(shí)別框顏色與其他人物框不一樣。對(duì)Python人臉識(shí)別和焦點(diǎn)人物檢測(cè)設(shè)計(jì)過程感興趣的朋友一起看看吧2021-10-10
python 定義函數(shù) 返回值只取其中一個(gè)的實(shí)現(xiàn)
這篇文章主要介紹了python 定義函數(shù) 返回值只取其中一個(gè)的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
selenium學(xué)習(xí)教程之定位以及切換frame(iframe)
這篇文章主要給大家介紹了關(guān)于selenium學(xué)習(xí)教程之定位以及切換frame(iframe)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Python查找字符串中包含的多個(gè)元素的實(shí)現(xiàn)
本文詳細(xì)介紹了如何使用Python查找字符串中包含的多個(gè)元素,包括基本字符串操作和使用正則表達(dá)式進(jìn)行高級(jí)搜索,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03

