实现思路:

第一步:6位数的密码,且需要包括字符、数字、特殊符号这三个元素。将三个元素组成6位时每个元素的排列组合列举出来

第二步:从第一步的排列组合中随机抽取一个排列组合类型(i,j,k)

第三步:从所有的字符、数字、特殊符号中随机抽取i个字符,j个数字,k个特殊符号

第四步:将i个字符,j个数字,k个特殊符号组成一个6位数的密码'laststr '

第五步:将laststr中的元素再次打散随机排列组合。此时就能得到一个6位数的随机密码

#生成一个随机密码,不少于6位数(目前下方代码只实现了6位数的密码组合),且需要包括字符、数字、特殊符号import random
from random import shuffle
import string
#打印所有大写字母,小写字母,数字,特殊符号
sletters = string.ascii_letters
sdigits = string.digits
spunctuation = string.punctuation#获取6位数的密码,字符、数字、特殊符号组合的排序方式
Option = [[i, j, k] for i in range(1,5) for j in range(1,5) for k in range(1,5) if i + j + k == 6]
Optionitems = Option[random.randint(0, len(Option)-1)]slettersitems = [random.choice(sletters) for i in range(Optionitems[0])]
sdigitsitems = [random.choice(sdigits) for i in range(Optionitems[1])]
spunctuationitems = [random.choice(spunctuation) for i in range(Optionitems[2])]#将随机获得的字符 数字 特殊符号组合成密码
laststr = ''.join(slettersitems) + ''.join(sdigitsitems) + ''.join(spunctuationitems)print(laststr)   #打印原始密码
laststr1 = list(laststr)
shuffle(laststr1)
print(''.join(laststr1))   #原始密码乱序输出

缺点:

1、利用最原始的编程方法实现,实现步骤繁琐,代码过于冗余,不易解读

2、无异常情况的考虑

3、其他缺点待发掘。。。待改进(202005182233记)

有错误请帮忙指出,谢谢。

生成一个6位数的随机密码,且需要包括字符、数字、特殊符号相关推荐

  1. 定义一个方法,使用随机的字母+数字生成一个6位数的密码

    @Testpublic void test10() {//调用PassWord方法打印输出System.out.println(PassWord());}//定义一个方法,使用随机的字母+数字生成一个 ...

  2. php随机码生成有数字英文,用php生成一个可选位数的数字和英文随机码

    下面是用php生成一个可选位数的数字和英文随机码的相关内容,文章教程主要讲述与位数 数字 英文 随机码 相关的一些技术与知识,获取更多最新教程,下面是教程讲解: 用php生成一个可选位数的数字和英文随 ...

  3. 编程输出所有的“水仙花数”。所谓水仙花数,是指一个3位数,其各个数位上的数字立方和等于该数本身。

    编程输出所有的"水仙花数".所谓水仙花数,是指一个3位数,其各个数位上的数字立方和等于该数本身.例如:153=13+53+33 运行结果示例: 水仙花数有   153  370  ...

  4. 实现猜数字游戏:随机生成一个1-100的整数,玩家在控制台输入数字,获得“大了”或“小了”反馈,直到猜中为止。

    这是一道对象和类的简单的判断问题 import java.util.Random; import java.util.Scanner;public class javahomework {public ...

  5. php 随机指定位数,php生成一个可选位数的随机码

    echo coding(6); function coding($num){ $str_arr = array('a','b','c','d','e','f','g','h','i','j','k', ...

  6. 输出所有的水仙花数,水仙花数是指一个三位数,它的每位上的数字的3次幂之和等于它本身。例如:1*1*1+5*5*5+3*3*3=153

    #include <stdio.h> int main() { int p,q,r,i; printf("水仙花数有:\n"); for(i=100;i<=999 ...

  7. rpython求随机数代码4段5个字符_如何创建一个4位数的随机数并将其存储为变量...

    我正在Python2.7.10中开发一个4位数的猜谜游戏.但我找不到如何随机生成一个4位数的数字,并将其存储为变量.数字必须介于1111和9999之间 困难的是,我想把它作为变量存储,而不是打印出来让 ...

  8. c语言4位数求各位数的立方和,功能:使用循环结构求一个四位数的各位数字的立方和...

    vb 使用循环结构,打印下列图案 有了,可能不是最好的算法,希望对你有帮助!DIMm,nASINTEGERDIMaASSTRINGDIMbASSTRINGform=1to4a="" ...

  9. java 键盘录入猜数,生成一个1-100之间的随机数,用户键盘录入猜数字

    猜数字案例的需求如下: 后台预先生成一个1-100之间的随机数,用户键盘录入猜数字 如果猜对了,打印"恭喜您,答对了" 如果猜错了 猜大了:打印"sorry,您猜大了!& ...

  10. python输入123输出321_编程从键盘输入一个三位数,将它们逆序输出。如输入123,输出321.谢谢...

    展开全部 这个简单啊!下边的是2113我以前写的,你看看吧?希5261望对你有4102帮助!不完善的地方在1653于没有判断第一位是不是0的,你可以加上去 #include void main() { ...

最新文章

  1. Akka路由_RoundRobinRoutingLogic
  2. 服务器同步什么文件类型,不同服务器同步文件类型
  3. python标准库之socket_python标准库SocketServer学习
  4. 部署eureka和config
  5. 面向过程和面向对象的编程思想 复习原型 构造函数和实例对象和原型对象之间的关系
  6. linux 手动安装 oracle(转)
  7. 一路踩坑,被迫聊聊 C# 代码调试技巧和远程调试
  8. frp + nginx 配置多人共用的http 内网穿透服务
  9. DeepMind发布《神经网络中持续学习》Cell综述论文
  10. layui获取input信息_python爬虫—用selenium爬取京东商品信息
  11. android+新版本+menu,【Android界面实现】SlidingMenu最新版本使用详解
  12. java 产生随机数_java生成随机数
  13. ios 企业证书 ipa 重新签名发布
  14. python 正态化_#Python数据分析/笔记 - 准备工作
  15. “工业革命4.0”时代,智能汽车应是什么样?
  16. 注意Stream.Seek,如果想要重复使用Stream,注意用Seek复位
  17. 怎样利用通达信公式选股?
  18. ffmpeg 命令行多视频轨/音频轨合并,播放
  19. 纯代码方式实现cesium倾斜摄影单体化和楼栋分层
  20. android als传感器,环境光传感器(ALS)背光控制解决方案

热门文章

  1. LED灯恒流驱动电路设计
  2. 智能开关的零火版和单火版有什么区别
  3. matlab三次方程求根,如何用matlab求一元三次方程的最小正根?
  4. 微信策划推出指纹支付
  5. 训练误差测试误差/过拟合欠拟合/正则化和交叉验证/2022年1月22日
  6. 来聊聊我的阿里云P7面试经历
  7. 怎么把解压的文件在HTML打开,压缩文件怎么解压打开?
  8. protel dxp2004第三讲之仿真设计
  9. php去除微信特殊符号,PHP方法处理微信昵称特殊符号过滤
  10. FFmpeg 加水印 加马赛克