本帖最后由 Hoiste 于 2020-3-22 11:47 编辑
首先for循环里面的if,string这么长的一段字符串不可能全是大写,所以string.isupper()总是返回False,你要表达的应该是string[i].isupper()吧?
然后你用第二个for循环套if循环这一段多余了,只需要有一个i的位置,我们就可以查找i的前三位,后三位,以及前第四位,后第四位的大小写,还有那个==0是什么鬼。。。
改成if each.islower() and string[i-3:i].isupper() and string[i+1:i+4].isupper():
if string[i-4].islower() and string[i+4].islower():
第三,因为里面带有换行符和回车,在Python里面有可能把这当成一个大写字符,你需要用replace方法把\n和\r换成空字符,string = string.replace('\n','').replace('\r','')
最后,你使用的列表换成字符串输出的办法会让你失望,建议使用下面语句:最后,建议使用代码格式发代码,方法在内容输入框上方有个<>,点一下弹出输入框,把代码复制进去点确定就可以了。 |