小杨的密码安全挑战


【题目描述】
小杨是学校网络安全小组的成员,今天他的任务是设计一个“密码强度检测器”,帮助同学们检查自己的密码是否足够安全。一个安全的密码需要满足以下条件:
1. 密码至少包含 8 个字符(太短的密码容易被猜出来哦!)。
2. 密码至少包含一个字母(不区分大小写,比如 a、B、c 都可以)。
3. 密码至少包含一个数字(比如 1、2、3 等)。
例如:
1. 密码 PAs1s2an 是安全密码(有 8 位、包含字母 P、A、s 等和数字 1、2)。
2. 密码 12345678 不是安全密码(只有数字,没有字母)。
3. 密码 abcdefgh 不是安全密码(只有字母,没有数字)。
4. 密码 Pa2 不是安全密码(只有 3 位,太短了)。
默认小猫角色和白色背景,请你帮助小杨编写一个程序,快速判断列表(data)中的密码中有多少个是安全密码并把结果存储在变量 ans 中。
【输入描述】
新建列表“data”,用于存储需要检测的密码数据。
如下图所示:

【输出描述】
新建变量“ans”,用于存储最后的结果。
如下图所示:

【输入样例】
data = [“PAs1s2an”, “12345678”, “abcdefgh”, “Pa2”]
【输出样例】
ans = 1
【输入样例】
data = [“goodpass1”, “12345678”, “1234567a”]
【输出样例】
ans = 2
注意事项:
1、 变量名的拼写(包括大小写)要和题目完全一致。
2、 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2 秒”积木块
3、 列表直接用“+”功能赋值进行测试即可,无需写代码赋值。

相似题推荐
凯撒密码

【题目描述】
小杨最近在图书馆发现了一本关于密码学的有趣书籍,里面介绍了一种古老的密码——凯撒密码。这种密码很简单:每个字母都按照字母表的顺序往后移动固定位数。比如移动 3 位,A 就变成 D,B 变成 E,C 变成 F……到了 Z 之后又回到 A,Z就变成了 C。
小杨现在得到了三行重要的信息:
1.第一行:已知的原始消息(明文)
2.第二行:已知的加密后的消息(密文),它是用凯撒密码对第一行加密得到的
3.第三行:需要解密的密文,它和前面使用了相同的移动位数
默认小猫角色和白色背景,请你帮助小杨,先根据前两行计算出字母移动了多少位,然后用这个规律破解第三行的密文,找到原始消息并把结果存储在变量 ans中。
【输入描述】
新建变量“str1”,表示已知的明文(全大写字母)
新建变量“str2”,表示对应的密文(全大写字母)
新建变量“str”,表示需要破解的密文(全大写字母)。
如下图所示:

【输出描述】
新建变量“ans”,用于存储最终的结果,表示破解后的明文。
如下图所示:

从前两行可以看出:
A → D(向后移动 3 位)
B → E(向后移动 3 位)
以此类推所以移动位数是 3。对第三行密文,我们把每个字母向前移动 3 位:
W 向前移动 3 位变成 T
K 向前移动 3 位变成 H
以此类推
最终得到:"THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG"
【输入样例】
str1 = ABCDEFGVWXYZ
str2 = DEFGHIJYZABC
str = WKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ
【输出样例】
ans
= THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
【输入样例】
str1 = ABC
str2 = DEF
str = JRRG
【输出样例】
ans = GOOD
注意事项:
1、 变量名的拼写(包括大小写)要和题目完全一致。
2、输入变量直接赋值即可,无需使用“询问并等待”积木块。
3、输出结果存放在对应变量中即可,无需使用“说…”或“说…,2 秒”积木块。





