首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写程序,生成随机密码。具体要求如下: (1)使用random库,采用0x1010作为随机数种子。 (2)密码由26个字母大小写、10个数字字符和!@#$%∧&*等8个特殊符号组成。 (3)每个密码长度固定为10个字符。 (4)程序运行每次产生10个密码
请编写程序,生成随机密码。具体要求如下: (1)使用random库,采用0x1010作为随机数种子。 (2)密码由26个字母大小写、10个数字字符和!@#$%∧&*等8个特殊符号组成。 (3)每个密码长度固定为10个字符。 (4)程序运行每次产生10个密码
admin
2019-08-30
148
问题
请编写程序,生成随机密码。具体要求如下:
(1)使用random库,采用0x1010作为随机数种子。
(2)密码由26个字母大小写、10个数字字符和!@#$%
∧
&*等8个特殊符号组成。
(3)每个密码长度固定为10个字符。
(4)程序运行每次产生10个密码,每个密码一行。
(5)每次产生的10个密码首字符不能一样。
(6)程序运行后产生的密码保存在“随机密码.txt”文件中。
选项
答案
import random random.seed(0x1010) s=’’abcdefghijklmnopqrstuvwxyzABCDEFGHUKLMNOPQRSTUVWXYZ\ 1234567890!@#$%
∧
&*’’ ls=[] excludes=’’’’ while len(ls)<10: pwd=’’’’ for i in range(10): pwd+=S[random.randint(0,len(s)一1)] if pwd[0]in excludes: continue else: ls.append(pwd) excludes+=pwd[0] fo=open(’’随机密码.txt’’,’’w’’) fo.write(’’\n”.join(ls)) fo.close()
解析
这是一个综合应用题,考核随机数及文本操作能力。
本题目涉及产生10个随机密码,但要求随机密码首位不能相同,可以考虑随机生成密码并判断是否首位已经存在,如果存在则再次生成密码。因此,这种模式无法确定循环产生密码的总次数,程序框架应采用while语句实现。
题目规定了密码采用的字符信息,共44个,含字母、数字和特殊符号,可以将这些字符组织成字符串,便于后续根据其中字符生成密码。
程序主体逻辑包括:生成一个10字符长度密码,判断首位是否在已生成密码首位组成的排除字符串excludes中,如果存在,则再次生成密码,否则将生成密码的首位加入排除字符串excludes中。所生成密码存储在列表变量ls中,每个密码为列表中一个元素。最后,将密码输出到文件。
综上,参考代码及注释如下:
import random
random.seed(0x1010) #设置随机数种子
s=’’abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\
1234567890!@#$%
∧
&*’’
ls=[] #保存生成的随机密码
excludes=’’’’
while len(18)<10: #程序主要的while循环
pwd=’’’’
for i in range(10):
pwd+=s[random.randint(0,len(s)一1)]
if pwd[0]in excludes:
continue #首位存在,则继续循环再生成新的密码
else:
ls.append(pwd)
excludes+=pwd[0] #生成的密码首位加入排除字符串excludes
fo=open(’’随机密码.txt’’,’’w’’)
fo.write(’’\n’’.join(ls))
fo.close()
转载请注明原文地址:https://kaotiyun.com/show/6W6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
设d=len(time0),命令?VARTYPE(d)的输出值是
在VisualFoxPro中,要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令
在VisualFoxPro中,以下关于查询的描述正确的是
下列二叉树描述中,正确的是()。
第(36)~(40)使用如下关系:客户(客户号,名称,联系人,邮政编码,电话号码)产品(产品号,名称,规格说明,单价)订购单(订单号,客户号,订购日期)订购单名细(订单号,序号,产品号,数量)查询订购单的数量和所有订购单平均金额的正确命令是(
查询“仓库”表的所有记录并存储于临时表文件temp中的SQL语句是()。
如果内存变量和字段变量均有变量名“姓名”,那么引用内存变量的正确方法是()。
在VisualFoxPro的工作1区和3区打开了数据表文件,再接着执行SELECT0后,选择工作区的结果是()。
设计一个表单名和文件名均为currencyform的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为:“外币市值情况”。表单中有两个文本框(textl和text2)和两个命令按钮:“查询”(commandl)与“退出”(command2
(1)modil.prg程序文件中SQLSELECT语句的功能是查询哪些零件(零件名称)目前用于三个项目,并将结果按升序存入文本文件results.txt。给出的SOLSELECT语句中在第1、3、5行各有一处错误,请改正并运行程序(不可以增、删语句或短
随机试题
关于苯二氮卓类药物的作用机制正确的是
患儿,男,7岁。8月因突然高热、惊厥1次就诊。体温39.5℃,面色苍白,四肢厥冷,意识模糊,便常规有脓细胞。考虑该患儿是
甲工厂申请破产,应当向人民法院提交()。人民法院收到破产申请后,依法对各项材料进行审查,其判断甲工厂是否可以破产的条件是()。
表示生产饱和蒸汽锅炉基本特征的指标包括()。
当土质稀软、泥层薄时,抓斗式挖泥船挖泥作业时()。
根据会计法律制度的规定,下列各项中,属于注册会计师业务范围的是( )。
下列不属于出境领队的职责的是()。
将15名实习生名额随机分配给12个部门,每个部门至少分配1人。问有部门获取的数额是3的概率是有部门获取的名额是4的概率的多少倍?
甲犯强奸罪被判处有期徒刑10年,此时人民法院对甲可以适用的附加刑是()。
April2Toournewaccountants,WelcometoYagitConsulting!Wearedelightedthatyouarejoiningourteamandlookforwardto
最新回复
(
0
)