python编写程序,用户输人一个字符串作为密码,判断密码强度,规则为,密码长度小于8 为弱密码,密码长度大于等于 8且包含至少 2 种字符为中等强度,密码包含 3 种字符为强,包含全部4 种字符为极强。
时间: 2023-12-10 11:02:46 浏览: 124
好的,下面是Python程序实现:
```python
def check_password_strength(password):
"""
判断密码强度
"""
if len(password) < 8:
return "弱密码"
else:
chars = set(password)
if len(chars) == 2:
return "中等强度"
elif len(chars) == 3:
return "强"
elif len(chars) == 4:
return "极强"
else:
return "非法密码"
password = input("请输入密码:")
print(check_password_strength(password))
```
程序中,我们定义了一个`check_password_strength()`函数,用于判断密码强度。首先判断密码长度是否小于8,如果是,则返回“弱密码”;否则,统计密码中的不同字符数,根据不同字符数的不同情况,返回不同的密码强度。最后,我们用`input()`函数获取用户输入的密码,并调用`check_password_strength()`函数进行判断,输出密码强度。
相关问题
python用户输入一个字符串作为密码,判断密码强度,规则为,密码长度小于8为弱密码,密码长度大于等于8且包含至少2种字符为中等强度,密码包含3种字符为强,包含全部4种字符为极强。
Python中可以编写一个简单的函数来实现这个密码强度的判断。首先,我们需要检查密码的长度和字符种类。以下是一个示例函数:
```python
def password_strength(password):
# 定义四种字符类型的计数器
lowercase_count = 0
uppercase_count = 0
digit_count = 0
special_char_count = 0
# 检查密码长度
if len(password) < 8:
strength = "弱"
else:
# 检查字符种类
for char in password:
if char.islower():
lowercase_count += 1
elif char.isupper():
uppercase_count += 1
elif char.isdigit():
digit_count += 1
elif not char.isalnum(): # 特殊字符
special_char_count += 1
# 判断强度
if special_char_count == 0:
if lowercase_count > 1 and uppercase_count > 0:
strength = "中等"
elif lowercase_count > 2 and uppercase_count > 0 and digit_count > 0:
strength = "强"
elif all([lowercase_count, uppercase_count, digit_count, special_char_count]):
strength = "极强"
else:
if lowercase_count + uppercase_count + digit_count >= 2:
strength = "中等"
return strength
# 获取用户输入并测试
user_password = input("请输入您的密码:")
print(f"密码强度:{password_strength(user_password)}")
在IDE环境中编写,用户输入一个字符串作为密码,判断密码强度,规则为,密码长度小于8为弱密码,密码长度大于等于8且包含至少2种字符为中等强度,密码包含3种字符为强,包含全部4种字符为极强。
好的,你可以使用如下的 Python 代码实现这个功能:
```python
def check_password_strength(password):
# 计算密码中包含的不同字符种类数
num_types = sum([1 for c in password if c.islower()]) + \
sum([1 for c in password if c.isupper()]) + \
sum([1 for c in password if c.isdigit()]) + \
sum([1 for c in password if not c.isalnum()])
# 判断密码强度
if len(password) < 8:
strength = "weak"
elif num_types >= 2:
strength = "medium"
elif num_types == 3:
strength = "strong"
else:
strength = "very strong"
return strength
```
你可以在 IDE 中调用这个函数,并将用户输入的密码作为参数传入即可。这个函数会返回密码的强度,可以根据需要进行后续的处理。
阅读全文