| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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 
所以我想知道我这种方法是哪里有漏洞呢?谢谢!
如果第一个就是小写呢? 
主要漏洞就是下标索引溢出导致实际索引的位置不对 
 
 
 |   
 
 
 
 |