随机产生一个18位的字符串这不难,不重复可不敢百分百保证。只能说重复的概率相当小而已。
import random
def huoqu_xuliehao(changdu = 18): #默认产生18位随机数
# 为了尽量保证不重复,还是大小写英文加上数字的组合吧。
zifubiao = ""
for i in [chr(i) for i in range(ord('a'), ord('z')+1)] + [chr(i) for i in range(ord('A'), ord('Z')+1)] + [chr(i) for i in range(ord("0"), ord("9")+1)]:
zifubiao += i
# zifubiao 里面保存着所有的英文字母和数字,然后我们只需要让他随机产生18个组合在一起就行了。
# 要是觉得上面的代码麻烦,你也可以直接定义一个字符串把所有的字母和数字都写进去。。。。。。
res = "" # 保存序列号
for i in range(changdu): # 想要几位数就给函数穿几位数
res += random.choice(zifubiao) # 每次循环都会从zifubiao中随机取一个字符填充到res当中,最后res会产生一个18个字符的字符串作为序列号返回
return res # 将随机产生的序列号返回
res = huoqu_xuliehao()
然后把商品的名字和序列号一起储存在一个字典里方便以后查询。