|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 待时而动 于 2020-5-27 16:27 编辑
我找了两个小时,还是不知道问题出在哪里,
在这个函数外,str1=str1+str2是可以实现的,但是在这个函数里面,result=result+str0[i+4]就不行了,result是空字符串,但是我如果在后面打印str0[i+4],还是能打印出来str0[i+4],不知道为什么。
python萌新在线等大佬
代码如下:
- def fun1(str0):
- length=len(str0)-1
- result=''
- x=-1
- list_judge=[]
- i=-1
- times=0
- def fun2(a):#判断是否为[TFFFTFFFT]形式
- list_0=[True,False,False,False,True,False,False,False,True]
- nonlocal x
- nonlocal list_judge
- x=x+1
- list_judge.append(a)
- if list_judge[x] != list_0[x]:
- list_judge.clear()
- return 2
- elif list_judge==list_0:
- list_judge.clear()
- return 1
- else:
- return 0
-
- while i < length:#获取符合形式的九个字母中间的小写字母
- i += 1
- m=str0[i].islower()
- t=fun2(m)
- if t==1:
- i -= 8
- x=-1
- result=result+str0[i+4]
- elif t==2:
- i = i - x
- x = -1
- return result
复制代码
更新,输入的测试代码如下
str1='aMSAaSAFoomaldmMASDmMMMaOWQo'
fun1(str1)
本帖最后由 Stubborn 于 2020-5-28 00:35 编辑
实现的功能是什么? 课后题的解密?
- import re
- print(re.findall("[a-z][A-Z]{3}([a-z])[A-Z]{3}[a-z]", str1))
- str1='aMSAaSAFoomaldmMASDmMMMaOWQo'
- print("result:",fun1(str1))
复制代码
验算了,两个都可以返回aa结果,没有错呀,怎么不能返回的
|
|