题目要求输入一个字符串作为密码,密码只能由数字和字母组成。编写一个函数judge(password),用来求出密码的强度level,根据输入,输出对应密码的强度。密码强度判断准则如下(满足其中一条,密码强度等级加一级): ①有数字; ②有大写字母; ③有小写字母; ④位数不少于8位。
时间: 2024-02-27 20:55:54 浏览: 152
好的,我理解了你的问题。下面是根据你的要求编写的judge函数的代码:
```python
def judge(password):
level = 0
# 判断是否有数字
if any(char.isdigit() for char in password):
level += 1
# 判断是否有大写字母
if any(char.isupper() for char in password):
level += 1
# 判断是否有小写字母
if any(char.islower() for char in password):
level += 1
# 判断是否位数不少于8位
if len(password) >= 8:
level += 1
return level
```
这个函数首先定义了一个变量level,用来记录密码的强度等级。然后逐个判断密码是否符合要求,每满足一条规则,就将level加1。最后返回level的值,即为密码的强度等级。
你可以调用这个judge函数,传入你想要判断的密码作为参数,它会返回一个数字,表示密码的强度等级。
相关问题
4、密码等级判断:输入一串字符作为密码,密码只能有数字与字母组成。编写一个函数judge(password),用来求出密码的强度level,并在主程序中测试该函数,根据输入,输出对应密码强度。密码强度判断准则如下(满足其中一项,密码增强一级):(1)有数字;(2)有大写字母;(3)有小写字母;(4)位数不少于8位。示例如下:
好的,我理解了你的问题。以下是对应的Python代码实现:
```python
def judge(password):
level = 0
if any(char.isdigit() for char in password):
level += 1
if any(char.isupper() for char in password):
level += 1
if any(char.islower() for char in password):
level += 1
if len(password) >= 8:
level += 1
return level
password = input("请输入密码:")
password_level = judge(password)
if password_level == 0:
print("密码强度为弱!")
elif password_level == 1:
print("密码强度为中等!")
elif password_level == 2:
print("密码强度为强!")
else:
print("密码强度为极强!")
```
在这个函数中,我们使用了Python内置的字符串方法 `isdigit()`、`isupper()` 和 `islower()` 来判断是否有数字、大写字母和小写字母,并使用 `len()` 函数来判断密码是否不少于8位。函数返回密码的强度等级,主程序根据强度等级输出对应的密码强度评价。
注意:在使用 `input()` 函数获取用户输入时,应该注意密码的安全性,最好使用 getpass 模块中的 `getpass()` 函数。
4 密码等级判断:输入一串字符作为密码,密码只能有数字与字母组成。编写一个函数jud ge(password),用来求出密码的强度level,并在主程序中测试该函数,根据输入,输出对应密码强度。密码强度判断准则如下(满足其中一项,密码增强一级):(1)有数字; (2)有大写字母:(3)有小写字母:(4)位数不少于8位。示例如下:
以下是密码强度判断函数的 Python 代码实现:
```python
def judge(password):
level = 0
if any(char.isdigit() for char in password):
level += 1
if any(char.isupper() for char in password):
level += 1
if any(char.islower() for char in password):
level += 1
if len(password) >= 8:
level += 1
return level
```
以上函数中,使用了 `any()` 函数来判断字符串中是否包含数字、大写字母、小写字母等,如果包含则将密码强度 level 增加 1。最后返回密码强度 level。
以下是主程序的测试代码:
```python
password = input("请输入密码:")
level = judge(password)
if level == 1:
print("密码强度为低")
elif level == 2:
print("密码强度为中")
elif level >= 3:
print("密码强度为高")
else:
print("密码强度为极低")
```
以上代码中,首先让用户输入密码,然后调用 `judge()` 函数计算密码强度 level,根据 level 的值输出对应的密码强度。如果 level 的值为 0,则输出密码强度为极低。
阅读全文