共计 1012 个字符,预计需要花费 3 分钟才能阅读完成。
题目 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}