首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写程序,生成随机密码。具体要求如下: (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
170
问题
请编写程序,生成随机密码。具体要求如下:
(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全国计算机二级
相关试题推荐
在VisualFoxPro中,要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令
查询“仓库”表的所有记录并存储于临时表文件temp中的SQL语句是()。
连续执行以下命令之后,最后一条命令的输出结果是()。SETEXACTOFFX=“A”?UF(X=“A”,X-“BCD”,X+“BCD”)
在VisualFoxPro中,下列变量中需要事先定义是()。
以下描述中,不是线性表顺序存储结构特征的是()。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
下列关于下拉菜单和快捷菜单的说法中,错误的是()。
在考生文件夹下完成下列操作:(1)用命令新建一个名为“外汇”的数据库,并将该命令存储于one.txt中。(2)将自由表“外汇汇率”、“外汇账户”、“外汇代码”加入到新建的“外汇”数据库中。(3)用SQL语句在“外汇”数据库中新建一个数据库表rate,
建立一个文件名和表单名均为myform的表单文件,表单上有:表格控件gridl(RecordSourceType属性手工设置为“别名”),文本框控件Textl,命令按钮控件Commandl(文本为“确定”)。程序运行时在文本框中输入“部门名”,然后单击“确
在考生文件夹下创建一个顶层表单myform.scx(表单的标题为“考试”),然后创建并在表单中添加菜单(菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr)。效果如图3.29所示。①菜单命令“计算”和“退出”的功能都通过执行过程完成
随机试题
下列情况中可导致白细胞增多的是
A.腭腺B.下颌下腺C.腮腺D.舌下腺E.唇腺多形性腺瘤最常见于
患儿,男,3岁。出生后人工喂养,近来常表现夜间多汗。检查:方颅,胸骨下部显著前突,胸廓呈鸡胸,肋骨与肋软骨交界处变厚增大。应首先考虑的是
药品经营许可事项变更不包括
案例:小夏是学校田径队的一名队员。在一个寒冬的早晨,他照常起床穿着单薄的运动服来到田径场。简单做过准备活动后,在教练的安排下他连续跑了6个400米跑。在完成训练后,小夏的小腿抽筋了,疼痛难忍,这时教练让他赶紧坐下,并且把他的腿反向拉伸,后压脚背使
教育目的所要回答的根本问题是()。
小学体育教材的特点具体体现在()。
设有5个初始归并段,每个归并段有20个记录,采用5路平衡归并排序,若采用败者树最小的方法,总的比较次数是()。
sinnxcosmxdx(自然数n或m为奇数)=____________.
以下选项中,不合法的VisualBasic的变量名是( )。
最新回复
(
0
)