PAT乙级 1003我要通过!python

PS:这道题是人类迷惑行为……

这是乙级中的第3题,但我做的时候跟第5题似的卡了一下,对逻辑的严密性是一种考验。

n = int(input())
for i in range(n):
    idx = 0;a = 0;b = 0;c = 0;flag = 0
    str = input()
    if 'P' in str and 'A' in str and 'T' in str:
        loc1 = str.index('P')
        loc2 = str.index('T')
        for i in range(loc1):
            if str[i] != 'A':
                flag = 1
            else:
                a += 1
        for i in range(loc1+1,loc2):
            if str[i] != 'A':
                flag = 1
            else:
                b += 1
        for i in range(loc2+1,len(str)):
            if str[i] != 'A':
                flag = 1
            else:
                c += 1
        if flag == 0 and c == a*b :
            print('YES')
        else:
            print('NO')
    else:
        print('NO')

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值