用Python写一个6位随机数字的密码生成器

功能实现
1、一个六位数的随机密码生成器。
2、随机出来的密码不能与随机出来过的重复。

编程新手村选手,想看看如何实现的!


import random

# 生成随机6位随机数含字母
code = []
for i in range(6):
    if i == random.randint(1, 5):
        code.append(str(random.randint(1, 5)))
    else:
        code.append(chr(random.randint(65, 90)))
print(''.join(code))  # 转换成字符串

6位随机数字,换句话说,就是0到999999之间随机选个数字。问题在于怎样检查是否已经出现过。如果每次都重新运行程序,是无法保证和之前运行程序时生成的密码不一样的。而如果程序一直循环运行的话,可以加入一个容器,将每次生成的密码放入容器里进行比较。下面是个例子:

import random
p = set()
while True:
    new = f'{random.randint(0,999999):0>6}'
    if new not in p:
        p.add(new)
        break
print(p)