解题思路:我得思路都在代码注释中

参考代码:

m = int(input())
# 将输入的字符串存入列表
allstr = []
i = 0
while i < m:
    allstr.append(input())
    i += 1
# 建立特殊字符数组
testr = "~!@#$%^"
for s in allstr:
    lenth = len(s)
    if lenth < 8 or lenth > 16:
        print("NO")
        continue
    flag = 0
    # 判断密码中是否含有大小写、数字、特殊字符
    a = b = c = d = 0
    for s1 in s:
        if s1 >= 'A' and s1 <= 'Z':
            a = 1
        if s1 >= 'a' and s1 <= 'z':
            b = 1
        if s1 >= '0' and s1 <= '9':
            c = 1
        if s1 in testr:
            d = 1
        # 只要密码中至少包含3种不同的字符种类,就结束当前字符串判断,继续判断下一个字符串
        if a + b + c + d >= 3:
            flag = 1
            print("YES")
            break
    if flag == 0:
        print("NO")


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论