首页 > 编程语言 >某公司笔试题 - 密码验证合格程序(附python代码)

某公司笔试题 - 密码验证合格程序(附python代码)

时间:2023-08-15 14:44:58浏览次数:44  
标签:return 验证 python 笔试 len NG 密码 print psw

# 密码要求
# 1.长度超过8位; 2. 包括大小写字母,数字,其它符号,以上四种至少三种; 3.不能有长度大于2的包含公共元素的字串重复(其他符号不含空格或换行)
# 数据范围:输入的字符串长度满足1<=n<=100

# 检测输入密码
def checkpassword(psw):
if len(psw) <= 8 or len(psw) > 100:
return "NG"
# 包括至少三种
l = [0, 0, 0, 0]
# 遍历psw_str,有数字,有小写,有大写,有其它符号就记为1
for i in psw:
if i.isdigit():
l[0] = 1
elif i.islower():
l[1] = 1
elif i.isupper():
l[2] = 1
else:
l[3] = 1
# 数组l中和小于3,说明不满足3种以上
if sum(l) < 3:
return "NG"
# 不能有长度大于2的包含公共元素的字串重复
for j in range(len(psw)-3):
if psw.count(psw[j:j+3]) > 1:
return "NG"
return "OK"

print("请输入密码:")
while True:
try:
psw = input()
# 判断输入的密码中是否存在空格或换行符,python3中需要用\\n来表示\n
if len(psw.split(' ')) > 1 or len(psw.split('\\n')) > 1:
print('密码中不能包含空格或换行,请重新输入')
else:
res = checkpassword(psw)
print(res)
except ValueError:
if ValueError:
break

标签:return,验证,python,笔试,len,NG,密码,print,psw
From: https://www.cnblogs.com/xiaocai84/p/17631240.html

相关文章

  • python 面向对象 继承
     https://cloud.tencent.com/developer/article/1915788修改代码以解决报错classClass_1():  var_1=1    def__init__(self):    self.var_2=var_1classClass_2(Class_1):    def__init__(self):    self.var_4=self.var......
  • Python运算符全解析:技巧与案例探究
    在Python编程中,运算符是强大的工具,能够使我们在数据处理和逻辑判断方面更加灵活。本篇博客将全面探讨Python中常用的运算符,包括算术、比较、逻辑、赋值、位、成员和身份运算符,通过实际案例为你展示如何妙用运算符解决问题。算术运算符Python提供了一系列用于数值运算的算术运算符,如......
  • Python中对文件进行操作
    对于Python来说,文件处理绝对是一个常见的处理,读取文件、写入文件、生成文件……文件操作贯穿python变成始终。本篇文章将总结一下在平时编程过程中,常用的文件操作。以下将按照增删改查的顺序,对文件以及目录操作进行总结。新建文件和目录importos#新建文件new_file_path......
  • python 项目部署相关
    git代码管理和同步git本地上传全局配置gitconfig--globaluser.name"aaa"gitconfig--globaluser.email"[email protected]"进入项目目录初始化gitinit配置远程地址gitremoteaddoriginhttps://gitee.com/wupeiqi/xxxxx.git本地版本提交gitadd.g......
  • python 解决Could not import the lzma module. Your installed Python is incomplete
    python安装好pandas后import报错如下图:原因分析在执行./configure和makeinstall的时候出现错误提示,被忽略了,如下图:解决方法安装yuminstall-yxz-devel然后重新安装python,执行./configure和makeinstall......
  • C++ 调用 Python 接口 Mat转Numpy
    参考网站:https://blog.csdn.net/qq7835144/article/details/106073110?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242https://blog.csdn.net/weixin_46400740/article/details/116711323?spm=1001.2014.3001.5501 1、配......
  • esXGray开发笔记:基于直线检测的文本倾斜自动校正算法实现(python+opencv)
    昨日采用最小面积矩形的方式实现文本倾斜自动校正,但后面的角度有点麻烦,于是改用基本直线检测的算法。算法简介:检测直线,自动调节参数,至少获取11条直线(直线条数调节)计算每条直线与x轴夹角从返回的角度中找到出现次数较多的直线角度平均值并返回作为图片倾斜角度检测到角度后,就......
  • 笔试- 新国都嘉联支付-测开
    笔试 新国都嘉联支付-测开1、abcde5个球,抽中的比例10,15,20,25,30循环100次,打印每个球的抽中次数按下面思路倒是也可以publicstaticStringranomBall(){intran=(int)(Matn.random()*150);if(ran<50){return"B";}elseif(ran<90){return"D";}els......
  • vue + element-ui 的from表单嵌套数组的验证问题
    在vue+element-ui/plus的项目中,有的时候会出现表单自定义增加数组字段,并要对新增加的字段添加相关验证。举个例子//结构data(){return{form:{name:'',Param:[{id:0,label:'',Itemtype:0,},......
  • python代码中取消运行中的warning
    在Python中,可以使用warnings模块来管理和控制警告的显示。你可以通过设置警告过滤器来控制是否显示特定类型的警告。以下是一些常见的方法来处理警告:过滤警告: 可以使用warnings.filterwarnings()函数来设置警告过滤器,从而控制是否显示特定类型的警告。比如,可以使用warnings.fil......