首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写程序,生成随机密码。具体要求如下: (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
134
问题
请编写程序,生成随机密码。具体要求如下:
(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://www.kaotiyun.com/show/6W6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
以下题目使用的数据表结果如下:图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(
下列关于类、对象、属性和方法的描述中错误的是()。
在VisualFoxpro中,如果希望一个内存变量只限于在本过程中使用,说明这种内存变量的命令是()。
设计一个文件名和表单名均为myaccount的表单。表单的标题为“外汇持有情况”。表单中有一个选项按钮组控件(myOption)、一个表格控件(Gridl)以及两个命令按钮“查询”(Command1)和“退出”(Command2)。其中,选项按钮组控件有两
(1)在数据库“住宿浏览”中使用一对多表单向导生成一个名为zsform的表单。要求从父表“宿舍”中选择所有字段,从子表“学生”表中选择所有字段,使用“宿舍号”字段建立两个表之间的关系,样式为“边框式”:按钮类型为“图片按钮”;排序字段为“宿舍号"(升序);
(1)编写程序three.prg完成下列操作:根据“外汇汇率”表中的数据产生rate表中的数据。要求:将所有“外汇汇率”表中的数据插入rate表中并且顺序不变,由于“外汇汇率”中的“币种1”和“币种2”存放的是外币名称,而rate表中的“币种1代码”和“
在考生文件夹下,打开“住宿浏览”数据库,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):设计一个名称为stuform的表单,表单的标题为“学生住宿信息浏览”。表单上设计个包含三个选项卡的页框和一个“退出”命令按钮。如图3-8所示。要
在VisualFoxPro的查询设计器中,对应SQL短语DISTINCT的选项卡是()。
在考生文件夹下,完成如下操作:1.打开考生文件夹下的表单one,如下图所示。编写“显示”命令按钮的Click事件代码,使表单运行时单击该命令按钮则在Text1文本框中显示当前系统日期的年份(提示:通过设置文本框的Value属性实现,系统日期函数是da
在VisualFoxPro中,有如下程序,函数IIF()返回值是()。*程序PRIVATEX,YSTORE"男"TOXY=LEN(X)+2?IIF(Y
随机试题
A.国务院药品监督管理部门B.省级药品监督管理部门C.省级卫生行政部门D.地市级药品监督管理部门E.县级以上地方药品监督管理部门审批新药临床试验的是
关于青少年牙周炎的叙述,以下哪项是错误的
关于营养性巨幼细胞性贫血,错误的是
结构中具有莨菪酰基的化合物有
针对李甲的起诉,人民法院应如何?人民法院受理案件后,决定采用简易程序审理本案,则下列说法正确的是:
简述证券发行的概念和主要特征。
下列名言中体现“天下兴亡,匹夫有责”的优良传统的是()
[*]
Theseconddistinguishingcharacteristicofjazzisarhythmicdrivethatwas______called"hot"andlater"swing".
Byandlarge,marriedpeopleappeartohavebetterhealththantheirsinglepeers.However,ifthemarriageends,thathealthye
最新回复
(
0
)