n=input() p=0 t=0 while n!=0: np = 0 nt = 0 na = 0 s=input() for i in range(len(s)): if s[i]=='P': p=i np=np+1 #caculate the number of P if s[i]=='A': na=na+1 if s[i]=='T': t=i nt=nt+1 # caculate the number of T if (len(s)-t-1)==(t-p-1)*p and np==1 and nt==1 and na!=0 and (na+np+nt)==len(s): print('YES') else: print('NO') n=int(n)-1 #代码备份,这个题目思路详解网上有,参考了别人的思路用Python所写。 说一下我个人觉得要注意的点是:在可以基本判读通过的时候一定要保证字符串里面只有P,A,T三种字符,不能含有其他的字符,我看到很多别的方法,但是我觉得用A字符出现的次数na,加上P字符出现的次数np,加上T字符出现的次数nt,只有在整个字符串只有这三种字符的时候,才满足na+np+nt=len(s),lens(s)就是字符串的长度,我觉得这个实现方式是最简单的。
python PAT 1003
猜你喜欢
转载自blog.csdn.net/Saber_lyl/article/details/82145775
今日推荐
周排行