首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写程序,生成随机密码。具体要求如下: (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
121
问题
请编写程序,生成随机密码。具体要求如下:
(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全国计算机二级
相关试题推荐
在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是
设数据库表中有一个C型字段NAME。打开表文件后,要把内存变量NAME的字符串内容输入到当前记录的NAME字段,应当使用命令
假设表文件TEST.DBF经在当前工作区打开,要修改其结构,可使用命令.
下列关于“查询”的描述中正确的是
在VisualFoxPro中,下面关于索引的描述错误的是()。
下列关于SQL对表的定义的说法中,不正确的选项是()。
基于数据库pdtmng建立如图3.7所示顶层表单应用,表单文件名为myform.scx,表单控件名为goods,表单标题为“商品”。①表单内含一表格控件Gridl(默认控件名),当表单运行时,该控件将按用户的选择(单击菜单)来显示products.dbf
(1)从student表查询所有性别为“男”的学生信息,并按学号升序排序将查询结果存入results表。(2)利用表单向导生成一个表单,该表单含有student表的“学号”、“班级”、“姓名”和“型别”4个字段,按“学号”字段升序排序,其他设置采用默认值
在考生文件夹下完成下列操作:(1)建立一个文件名和表单名均为oneform的表单文件,表单中包括两个标签控件(Label1和Label2)、一个选项组控件(Optiongroup1)、一个组合框控件(Combol)和两个命令按钮控件(Commandl
随机试题
地面水的常规处理方法是
A、乳果糖B、比沙可定C、甘油栓D、硫酸镁E、聚乙二醇粉急、慢性或习惯性便秘可选用()。
可用于衡量药物安全性的指标是()。
关于楼地面构造的说法,正确的有()。
待估土地的年客观总收益为300万元,年客观总费用为250万元,剩余使用年限为40年,折现率为6%,则其评估价值最接近于()万元。
陈某向张某借款5万元,没有约定利息。一年后,张某获知陈某经营个体企业获利,在陈某还款时要求其支付利息1800元,陈某表示反对。根据合同法律制度的规定,下列关于陈某应否更付利息的表述中,正确的是()。
患者,男,48岁,毕Ⅱ式胃大部切除术后7天,进食少量流质饮食后出现呕吐,呕吐物为食物和胆汁,应考虑()。
李某(男)于2002年因酒后驾车,犯交通肇事罪被判处有期徒刑5年。其妻关某一人抚养不满一岁的儿子李予,生活十分困难。2003年,李某和关某离婚。关某为了能顺利改嫁,将儿子送给了蔡某夫妇收养。蔡某时年41岁,与妻结婚多年未育。双方达成了收养协议。当双方到民政
getSize().width指的是()。
下列给定的程序中,函数proc()的功能是:将str所指字符串中出现的t1所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。例如,当str所指字符串中所指的内容为abcdabcdefg,t
最新回复
(
0
)