题目5、
已知某系统的用户名被存到列表 [‘user0’,‘user1’,‘user2’,‘user3’,‘user4’,‘user5’]中了,请编写程序cx5.py完成以下功能:
(1)给每位用户创建6位由数字构成的随机初始密码,然后将用户名和密码用字典保存,输出该字典;
(2)将用户名和密码存至文件user_inf.txt中。

import random
all_chars = '0123456789'#预置字符串
user_name = ['user0','user1','user2','user3','user4','user5']#用户名列表
user_pwd_dict = {}#空字典
for name in user_name:
    pwd = ''#空密码
    for i in range(6):
        pwd +=  random.choice(all_chars)#随机选取字符串中字符,利用循环形成6位密码 相当于random.randint(0, 10)但是这里是字符串,故而不能用
    user_pwd_dict[name] = pwd#键值搭配
print("已分配初始密码,字典数据为:",user_pwd_dict)#打印出字典

fid = open('user_inf.txt','wt')#windows系统下的写入模式,打开文档
for name,pwd in user_pwd_dict.items():#把字典中每对 key 和 value 组成一个元组,并把这些元组放在列表中返回
    fid.write(name + ':' + pwd + '\n')#换不换行都不影响
fid.close()#关闭文档
print("用户名和密码已存至user_inf.txt中!")

numpy.random.choice(a, size=None, replace=True, p=None)
#从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字,并组成指定大小(size)的数组
#replace:True表示可以取相同数字,False表示不可以取相同数字
#数组p:与数组a相对应,表示取数组a中每个元素的概率,默认为选取每个元素的概率相同。

字典的相关知识
字典是一种可变容器模型,且可存储任意类型对象,
字典的每个键值对(key=>value)都是用冒号:分割
每个键值对之间用逗号,分割,整个字典包括在花括号{}中
格式如下:my_dict = {key1:value1, key2:value2}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐