|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 请用已学过的知识编写程序,找出小甲鱼藏在下边这个长字符串中的密码,密码的埋藏点符合以下规律:
a) 每位密码为单个小写字母 b) 每位密码的左右两边均有且只有三个大写字母j~
str1 = '''ABSaDKSbRIHcRHGcdDIF'''
鱼C的那个算法为什么输出之后只有abc?
!!最后的cd不满足吗?
题目链接: https://fishc.com.cn/thread-42685-1-1.html
我的代码如下
- str1 = '''ABSaDKSbRIHcRHGcdIF'''
- alp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- s_alp = 'abcdefghijklmnopqrstuvwxyz'
- list1 = []
- list2 = []
- #把连续三位大写字母对应的下标储存为list1
- for i in range(0,len(str1)-2):
- if (str1[i] in alp) and (str1[i+1] in alp) and (str1[i+2] in alp):
- list1.append(i)
- #将list1中可能夹杂小写字母的下标储存在list2
- for j in range(0,len(list1)-1):
- if (list1[j+1] - list1[j]) > 1:
- list2.append([list1[j],list1[j+1]])
-
- for each in list2:
- str2 = str1[each[0]+3:each[1]] #each(0)代表的是第一组大写三连字符的第一个,所以要加三才能变为小写
- #print(str2)
- if str2.islower():
- print(str2,end = '')
复制代码
|
|