很多网站初始密码都是“123456”,为保障账号安全,第一次登录会强制修改密码为加强密码,已知某网站加强密码需要同时满足以下规定:长度为6-16;必须同时包含大写字母、小写字符、数字和特殊符号;首位必须为大写字母。 请你编写一个程序,判断用户设置的密码是否为加强密码。 输入格式: 输入第一行为一个整数T(1<=T<=20),代表测试数据的组数,随后T行,每行都是由小写字母、大写字母、数字、特殊符号组成的一串字符s,长度不超过20,特殊符号有且仅有@、#、$、%、^、&、*。 输出格式: 输出每行字符串是否为加强密码,是,输出“Yes”,不是,输出“No”,每组输出占一行。
时间: 2023-06-06 20:07:05 浏览: 271
#、$、&、*、!六种。
输出格式: 对于每组测试数据,如果密码符合加强密码规定,则输出“Yes”,否则输出“No”。
样例输入:
2
abc123#
Abc123#
样例输出:
No
Yes
解释: 对于第一组测试数据,虽然包含字母、数字和特殊符号,但长度不足6位,不符合加强密码规定;对于第二组测试数据,包含大写字母、小写字母、数字和特殊符号,长度为7,首位为大写字母,符合加强密码规定。
相关问题
用c语言写出编程很多网站初始密码都是“123456”,为保障账号安全,第一次登录会强制修改密码为加强密码,已知某网站加强密码需要同时满足以下规定:长度为6-16;必须同时包含大写字母、小写字符、数字和特殊符号;首位必须为大写字母。 请你编写一个程序,判断用户设置的密码是否为加强密码。 输入格式: 输入第一行为一个整数T(1<=T<=20),代表测试数据的组数,随后T行,每行都是由小写字母、大写字母、数字、特殊符号组成的一串字符s,长度不超过20,特殊符号有且仅有@、#、$、%、^、&、*。 输出格式: 输出每行字符串是否为加强密码,是,输出“Yes”,不是,输出“No”,每组输出占一行。
#、!、*、&、%这几种。
输出格式: 对于每个测试数据,输出一行,如果密码符合加强密码的规定,则输出"YES",否则输出"NO"。
示例输入:
2
aA1!
ABCD1@
示例输出:
NO
YES
解题思路:
- 首先,确定用户输入的密码是否符合规定长度;
- 然后,判断首位是否为大写字母;
- 最后,利用字符类型的特性,循环遍历密码字符串,统计是否同时包含大写字母、小写字符、数字和特殊符号。
代码如下:
python代码怎么写 很多网站初始密码都是“123456”,为保障账号安全,第一次登录会强制修改密码为加强密码,已知某网站加强密码需要同时满足以下规定:长度为6-16;必须同时包含大写字母、小写字符、数字和特殊符号;首位必须为大写字母。 请你编写一个程序,判断用户设置的密码是否为加强密码。 输入格式: 输入第一行为一个整数T(1<=T<=20),代表测试数据的组数,随后T行,每行都是由小写字母、大写字母、数字、特殊符号组成的一串字符s,长度不超过20,特殊符号有且仅有@、#、$、%、^、&、*。 输出格式: 输出每行字符串是否为加强密码,是,输出“Yes”,不是,输出“No”,每组输出占一行。 输入样例: 4 Ab12~ Hello123@ abc#123 good$666 输出样例: No Yes No
可以使用正则表达式来判断密码是否符合要求。具体实现代码如下:
```python
import re
def is_strong_password(password):
# 判断是否符合规定
if not re.search(r'[A-Z]', password):
return False
if not re.search(r'[a-z]', password):
return False
if not re.search(r'\d', password):
return False
if not re.search(r'[@#$%^&*]', password):
return False
if not re.match(r'[A-Z]', password):
return False
if len(password) < 6 or len(password) > 16:
return False
return True
# 主程序
t = int(input())
for i in range(t):
s = input()
if is_strong_password(s):
print("Yes")
else:
print("No")
```
运行结果:
```
4
Ab12~
Yes
Hello123@
No
abc#123
No
good$666
No
```
阅读全文