|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位,小甲鱼的20讲课后作业题目中这样的一个题目:
请用已学过的知识编写程序,找出小甲鱼藏在下边这个长字符串中的密码,密码的埋藏点符合以下规律:
a) 每位密码为单个小写字母Powered by bbs.fishc.com
b) 每位密码的左右两边均有且只有三个大写字母
下文是我的答案:
str1 = '''ABSaDKSbRIHcRHGdDyIF'''
list1=[]
chars1='abcdefghijklmnopqrstuvwxyz'
chars2='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for each in str1:
if each in chars1:
a=str1.index(each)
if (str1[a-1] in chars2) and (str1[a+1] in chars2) and (str1[a-2] in chars2) and (str1[a+2] in chars2) and (str1[a-3] in chars2) and (str1[a+3] in chars2):
print(each)
list1.append(each)
这样运行出来结果是:abc貌似代码没有问题,可是当我把str1改成str1 = '''ABSaDKSbRIHcRHGcdDIF''',打印结果为abcc
所以我想知道我这种方法是哪里有漏洞呢?谢谢!
如果第一个就是小写呢?
主要漏洞就是下标索引溢出导致实际索引的位置不对
|
|