|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
countA = 0 #统计前大写字母
countB = 0 #统计小写字母
countC = 0 #统计后大写字母
length = len(str1) #取str1字符串长度
for i in range(length):
if str1[i] == '\n':
continue
if str1[i].isupper(): #如果str[i]是大写字母继续
if countB: #如果已经出现小写字母
countC += 1 #统计后面的大写字母
else:
countC = 0 #清空后面大写字母
countA += 1 #前大写字母加一位
if str1[i].islower(): #如果str[i]是小写字母继续
if countA != 3: #如果小写字母前不是三个大写字母(不符合条件)
countA = 0 #记数清零
countB = 0
countC = 0
else: #如果前面是三个大小字母(符合条件)
if countB: #如果已经存在小写字母(两个小写字母)
countA = 0
countB = 0 #记数清零
countC = 0
else: #如果小写字母是唯一的
countB = 1
countC = 0 #记录出现小写字母,并开始统计countC
targer = i
if countA == 3 and countC == 3: #如果前边和后边都是三个大写字母
if i+1 != length and str1[i+1].isupper(): #如果后面第四个也是大写字母(不符合条件)
countB = 0 #清空BC的记录,重新统计
countC = 0
else: #如果后面只有三个大写字母(符合条件)
print(str1[targer],end='') #打印结果并清空所有
countA = 0
countB = 0
countC = 0
里面的if countB: #如果已经出现小写字母
是什么意思,countB只是一个记数器 0 1
这句话真没有读懂啊~!!!有大佬解释一下么
if 和while 啊这种条件判断 判断的是一个逻辑值,python应该和C语言是一样的,会判断后面这句话的逻辑是否正确,怎么判断呢? 一般是读取数值, 也就是0就是判断错误, 1就是判断正确 , 而0和1以外的数字也被判断为1 所以如果countA 不为0 的话 本身的逻辑就相当于是正确的! 你可以把countA的作用理解为一个标记
|
|