题目要求输入一个字符串作为密码,密码只能由数字和字母组成。编写一个函数judge(password),用来求出密码的强度level,根据输入,输出对应密码的强度。密码强度判断准则如下(满足其中一条,密码强度等级加一级): ①有数字; ②有大写字母; ③有小写字母; ④位数不少于8位。
时间: 2024-02-27 15:55:40 浏览: 30
好的,我理解了你的问题。下面是对应的 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: # 判断是否位数不少于8位
level += 1
return level
```
以上代码中,`any` 函数用于判断字符串中是否有满足条件的字符。`char.isdigit()`、`char.isupper()` 和 `char.islower()` 分别判断字符是否为数字、大写字母和小写字母。`len(password)` 判断密码的长度是否不少于 8 位。最终,将满足条件的个数相加得到密码的强度等级。
相关问题
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,则输出密码强度为极低。