|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.请用已经学过的只是编写程序,找出小甲鱼藏在下边这个长字符串中的密码,密码的埋藏点符合以下规律:
a)每位密码为单个小写字母
b)没为密码的左右两边均有且只有三个大写字母
# 下面是我编写的程序
str1 = '''小甲鱼提供的超长字符串''
length = len(str1)
for i in range(3, length-2):
if str1[i].islower():
if str1[i-1].isupper() and str1[i-2].isupper() and str1[i-3].isupper() and str1[i-4].islower():
j = i
while str1[j].islower():
j += 1
if str1[j].isupper() and str1[j+1].isupper() and str1[j+2].isupper() and str1[j+3].islower():
if len(str1[i:j]) > 5:
print('密码是:', str1[i:j])
print('位置', i, ',', j)
#我的输出结果
(经过验证也满足题目要求,但是没找到参考答案,我觉得是'\n'引起的,想请教一下:怎么在我的程序中加入合适的语句,从而考虑到'\n'的影响呢?)
密码是: ufvbty
位置 1553 , 1559
密码是: hiwjnvje
位置 6049 , 6057
#参考答案的输出结果
ilovefishc
加一句这个可以去除掉\n,但是你的算法有问题,你没有理解对题目,aAAAaAAAa,中间那个小写的字母才是符合条件的密码字符之一,而不是若干连续的小写字母。
- str1=str1.replace('\n','')
复制代码
|
|