目录
[2.1 python环境](#2.1 python环境)
[2.2 pycharm编译](#2.2 pycharm编译)
[3.1 代码构思](#3.1 代码构思)
[3.2 代码示例](#3.2 代码示例)
[3.3 运行结果](#3.3 运行结果)
1、认识Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。
2、环境与工具
2.1 python环境
在Windows上使用命令行窗口查看所安装的python版本
python
2.2 pycharm编译
在这里可以直接使用社区版的pycharm进行代码编译。
3、纠正密码输入的格式问题
3.1 代码构思
登录密码在设置的时候为了保证其复杂性,往往需要满足由大写字母、小写字母、符号、数字组成,并且不能少于8位。
在这则代码中使用大写、小写、符号、数字识别方法,作为检验的方式,来辨别设置的密码的格式是否由问题
3.2 代码示例
def check_len(pwd):
#检查密码长度是否大于八位
if len(pwd)>=8:
return True
else:
return False
#检查密码组成
def check(pwd):
check=[0,0,0,0]
for char in pwd:
#如果是小写
if char.islower():
check[0]=1
#如果是大写
if char.isupper():
check[1]=1
#如果是数字
if char.isdigit():
check[2]=1
#如果是其他字符
if not(char.isalpha()|char.isdigit()|char.isspace()):
check[3]=1
#当列表中的四个元素之和小于4说明不符合
if sum(check)<4:
return False
else:
return True
#检查是否有四位以上是重复的
def check_rep(pwd):
n=len(pwd)
for i in range (n-4):
str1=pwd[i:i+4]
str2=pwd[i+4::]
if str1 in str2:
return False
return True
if __name__ == '__main__':
msg='''
请设置密码:
密码必须由大写字母、小写字母、符号、数字组成,并且不能少于8位
'''
print(msg)
while True:
pwd=input('请输入密码')
#退出程序
if pwd=='q':
print("退出")
break
#查询位数
vcheck1=check_len(pwd)
if not vcheck1:
print("位数不对")
continue
#查询符号组成
vcheck2=check(pwd)
if not vcheck2:
print("密码组成必须是大写字母+小写字母+数字+符号")
continue
#查询有无重复
vcheck3=check_rep(pwd)
if not vcheck3:
print("密码有重复字符串")
continue
print("密码格式正确")
break
3.3 运行结果
在输入的时候要严格按照密码中含有大写字母、小写字母、符号、数字,并且不能少于8位的条件进行输入,否则就会报错。
4、总结
通过这一则代码,展示了在注册账号时候为什么要求输入多种格式的密码,展示了密码检验的底层逻辑。