|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
运行时是正确的,能输出正确密码,但总觉得少了点什么或者哪里有点问题还能改进,请大家指导一下
- filename = 'D:\python\string2.txt'
- string = open(filename).read()
- lenth = len(string)
- counta = 0 # 前面大写字母个数
- countb = 0 # 小写字母是否出现,0为未出现,1为出现
- countc = 0 # 后面大写字母个数
- for i in range(lenth):
- if string[i] == '\n':
- continue
- if string[i].isupper():
- if countb: # 判断小写字母是否出现,0(False)为不出现,1(True)为出现
- countc += 1 #小写字母如果出现,统计后面大写字母个数
- else:
- counta += 1 #小写字母如果没出现,统计前面大写字母个数(统计小写字母出现前所有大写字母个数)
- if string[i].islower():
- countb += 1 # 小写字母出现
- if counta == 3: # 前面大写字母个数是3,则继续向下判断
- if countb == 1: # 小写字母个数只为1
- index = i # 保留下标
- else: # 小写字母大于1,所有统计清零
- counta = 0
- countb = 0
- countc = 0
- else: # 前面大写字母个数不是3,所有统计清零
- counta = 0
- countb = 0
- countc = 0
- # 前面大写字母个数只可能是3,但后面大写字母个数可能会大于3
- # 由后面大写字母的第四位的大小写判断
- if counta == 3 and countc == 3:
- if string[index + 4].islower():
- print(index, string[index])
- else:
- counta = 0
- countb = 0
- countc = 0
复制代码 |
|