5、所有网站用户注册时需要输入用户名和密码,编写程序实现对用户输入的密码的有效性进行检测。以下是检查密码的标准: (1). 至少包含1个字母 (2). 至少包含1个数字 (3). [$#@]中至少有1个字符 (4).密码的最短长度:4 (5).密码的最大长度:8 提示:程序应接受一系列逗号分隔的多个密码,并将根据上述标准对所有密码进行检测,将符合条件的密码以字符串形式打印,每个密码用逗号分隔。 例:如果以下密码作为程序的输入:ABd1234@1,aF1#,2w3E*,2We3345 然后,程序的输出应该是:aF1#
时间: 2024-02-16 19:04:59 浏览: 62
可以使用正则表达式来实现密码的检测:
```python
import re
def check_password(password):
"""检查密码是否符合要求"""
pattern = re.compile(r'^(?=.*[a-zA-Z])(?=.*\d)(?=.*[$#@])[a-zA-Z0-9$#@]{4,8}$')
return pattern.match(password)
passwords = 'ABd1234@1,aF1#,2w3E*,2We3345'
password_list = passwords.split(',')
valid_passwords = []
for password in password_list:
if check_password(password):
valid_passwords.append(password)
print(','.join(valid_passwords))
```
输出结果:
```
aF1#
```
相关问题
5、所有网站用户注册时需要输入用户名和密码,编写程序实现对用户输入的密码的有效性进行检测。(15分) 以下是检查密码的标准: (1). [a-z]之间至少有1个字母 (2). [A-Z]之间至少有1个字母 (3). [0-9]之间至少有3个数字 (4). [$#@]中至少有1个字符 (5).密码的最短长度:6 (6).密码的最大长度:12 提示:程序应接受一系列逗号分隔的多个密码,并将根据上述标准对所有密码进行检测,将符合条件的密码以字符串形式打印,每个密码用逗号分隔。
好的,这是一个密码检测程序,可以接收多个密码,然后对它们进行有效性检测,符合条件的密码将被打印输出。下面是 Python 代码实现:
```python
import re
def check_passwords(passwords):
valid_passwords = []
for password in passwords:
if len(password) < 6 or len(password) > 12:
continue
if not re.search("[a-z]", password):
continue
if not re.search("[A-Z]", password):
continue
if not re.search("[0-9].*[0-9].*[0-9]", password):
continue
if not re.search("[$#@]", password):
continue
valid_passwords.append(password)
return ",".join(valid_passwords)
passwords = input("请输入多个密码,用逗号分隔:")
passwords = passwords.split(",")
print("有效的密码是:", check_passwords(passwords))
```
你可以输入多个密码,用逗号分隔,程序将会检测它们的有效性,然后将符合条件的密码以字符串形式打印输出。
所有网站用户注册时需要输入用户名和密码,编写程序实现对用户输入的密码的有效性进行检测。(15分) 以下是检查密码的标准: (1). [a-z]之间至少有1个字母 (2). [A-Z]之间至少有1个字母 (3). [0-9]之间至少有3个数字 (4). [$#@]中至少有1个字符 (5).密码的最短长度:6 (6).密码的最大长度:12 提示:程序应接受一系列逗号分隔的多个密码,并将根据上述标准对所有密码进行检测,将符合条件的密码以字符串形式打印,每个密码用逗号分隔。 例:如果以下密码作为程序的输入:ABd1234@1,aF1#,2w3E*,2We3345 然后,程序的输出应该是:ABd1234@1
以下是 Python 代码实现:
```python
import re
def check_password(password):
"""检查密码是否符合要求"""
if len(password) < 6 or len(password) > 12:
return False
if not re.search("[a-z]", password):
return False
if not re.search("[A-Z]", password):
return False
if not re.search("[0-9]{3,}", password):
return False
if not re.search("[$#@]", password):
return False
return True
passwords = input("请输入多个密码,用逗号分隔:").split(",")
valid_passwords = [password for password in passwords if check_password(password)]
print(",".join(valid_passwords))
```
运行程序后,输入多个密码,例如:
```
请输入多个密码,用逗号分隔:ABd1234@1,aF1#,2w3E*,2We3345
```
程序会输出符合要求的密码:
```
ABd1234@1
```
阅读全文