python编写程序,用户输人一个字符串作为密码,判断密码强度,规则为,密码长度小于8 为弱密码,密码长度大于等于 8且包含至少 2 种字符为中等强度,密码包含 3 种字符为强,包含全部4 种字符为极强。
时间: 2023-12-10 11:02:46 浏览: 115
好的,下面是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()`函数进行判断,输出密码强度。
相关问题
在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 中调用这个函数,并将用户输入的密码作为参数传入即可。这个函数会返回密码的强度,可以根据需要进行后续的处理。
用户输入一个字符串作为密码,判断密码强度,规则为:密码长度小于8 为弱密码,密码长度大于等于8且包含至少2 种字符为中等强度;密码包含3 种字符为强;包含全部4 种字符为极强。
可以编写一个Python函数来实现这个密码强度的判断。下面是一个简单的函数,它接收一个字符串作为输入并检查其长度和字符种类:
```python
def password_strength(password):
# 定义字符种类:数字、大写字母、小写字母和其他字符
char_types = ['digit', 'upper', 'lower', 'special']
# 初始化计数器
digit_count = 0
upper_count = 0
lower_count = 0
special_count = 0
# 检查每个字符类型
for char in password:
if char.isdigit():
digit_count += 1
elif char.isupper():
upper_count += 1
elif char.islower():
lower_count += 1
else:
special_count += 1
# 判断密码强度
if len(password) < 8:
strength = "弱"
elif len(password) >= 8 and digit_count + upper_count + lower_count > 1:
strength = "中等强度" if special_count == 0 else "强"
elif len(password) >= 8 and special_count == 3:
strength = "极强"
else:
strength = "不符合规则"
return strength
# 测试示例
passwords = ["short", "8char", "has1Special", "longPasswordWithAllChars"]
for p in passwords:
print(f"{p}: {password_strength(p)}")
```
阅读全文