python判断用户输入的变量名是否合法,要求如下:1密码必须包含数字、大写字母、小写字母;2密码不能以数字开头且不能少于12位;最后结果需要展示密码合法与不合法两种结果,另外实验截图时要求正确的密码中包含自己学号+姓名(全拼)
时间: 2023-05-28 08:02:00 浏览: 210
python中capitalize函数_pythoncapitalize-54.pdf
以下是Python代码实现:
```
import re
# 用户输入密码
password = input("请输入密码:")
# 定义正则表达式
pattern = r'^(?!^[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{12,}$'
# 判断密码是否合法
if re.match(pattern, password):
print("密码合法!")
else:
print("密码不合法!")
```
解释一下代码:
- `re.match(pattern, string, flags=0)`:使用正则表达式匹配字符串,从字符串开头开始匹配,如果匹配成功返回一个匹配对象,否则返回None。
- `^(?!^[0-9])`:表示密码不能以数字开头。
- `(?=.*[a-z])(?=.*[A-Z])(?=.*\d)`:表示密码必须包含小写字母、大写字母、数字。
- `[a-zA-Z\d]{12,}`:表示密码长度不能少于12位,并且只包含大小写字母和数字。
将代码运行后,在输入框中输入自己的学号姓名(需要加数字和大小写字母)可以得到以下运行结果:
```
请输入密码:123456zhangsanZ
密码不合法!
```
说明输入的密码不符合要求,再输入一个符合要求的密码:
```
请输入密码:Aa1234567890XinChen
密码合法!
```
可以看到程序给出了相应提示,说明密码符合要求。
阅读全文