Problem:
ポーカーの手札データを読み込んで、それぞれについてその役を出力するプログラムを作成してください。ただし、この問題では、以下のルールに従います。    * ポーカーはトランプ 5 枚で行う競技です。   * 同じ数字のカードは 5 枚以上ありません。   * ジョーカーは無いものとします。   * 以下のポーカーの役だけを考えるものとします。(番号が大きいほど役が高くなります。)    1. 役なし(以下に挙げるどれにも当てはまらない)   2. ワンペア（2 枚の同じ数字のカードが1 組ある）   3. ツーペア（2 枚の同じ数字のカードが2 組ある）   4. スリーカード（3 枚の同じ数字のカードが1 組ある）   5. ストレート（5 枚のカードの数字が連続している）   ただし、A を含むストレートの場合、A で終わる並びもストレートとします。つまり、A を含むストレート は、A 2 3 4 5 と 10 J Q K A の２種類です。J Q K A 2 などのように、A をまたぐ並び はストレートではありません。（この場合、「役なし」になります）。    6. フルハウス（3 枚の同じ数字のカードが1 組と、残りの2 枚が同じ数字のカード）   7. フォーカード（4 枚の同じ数字のカードが1 組ある）

Incorrect submission (verdict: Wrong Answer):
from itertools import permutations

def inini(_card):
    for i in range(len(_card)):
        _card[i] = 0


def main():
    while True:
        try:
            card = 14*[0]
            inini(card)
            number = list(map(int,input().split(',')))
            for v in number:
                card[v] += 1
            one_pair = 0
            tree_card = 0
            four_card = 0
            flag = 0
            for value in sorted(set(number),key=number.index):
                if card[value] == 2:
                    one_pair += 1
                elif card[value] == 3:
                    tree_card += 1
                elif card[value] == 4:
                    four_card += 1
            if one_pair == 1 and tree_card ==1:
                print('full house')
                flag = 777        
            elif one_pair == 1:
                print('one pair')
                flag = 777
            elif one_pair == 2:
                print('two pair')
                flag = 777
            elif tree_card == 1:
                print('tree card')
                flag = 777
            elif four_card == 1:
                print('four card')
                flag = 777
            straight = [[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7],[4,5,6,7,8],[5,6,7,8,9],[6,7,8,9,10],[7,8,9,10,11],[8,9,10,11,12],[9,10,11,12,13],[10,11,12,13,1]]
            for s_list in straight:
                number.sort()
                if number[0] == 1 and number[4] == 13:
                    number.append(1)
                    number.pop(0)
                if number == s_list:
                    print('straight')
                    flag = 777
                    break
            if flag == 0:
                print('null')
        except EOFError:
            break

  

       
if __name__ == '__main__':
    main()


Fixed, accepted submission:
from itertools import permutations
import sys
import os

def inini(_card):
    for i in range(len(_card)):
        _card[i] = 0


def main():
    for s in sys.stdin:
            card = 14*[0]
            inini(card)
            number = list(map(int,s.split(',')))
            for v in number:
                card[v] += 1
            one_pair = 0
            tree_card = 0
            four_card = 0
            for value in sorted(set(number),key=number.index):
                if card[value] == 2:
                    one_pair += 1
                elif card[value] == 3:
                    tree_card += 1
                elif card[value] == 4:
                    four_card += 1
            number.sort()
            if one_pair == 1 and tree_card ==1:
                print('full house')       
            elif one_pair == 1:
                print('one pair') 
            elif one_pair == 2:
                print('two pair')
            elif tree_card == 1:
                print('three card')   
            elif four_card == 1:
                print('four card')
            elif number[0] == number[1]-1 == number[2]-2 == number[3]-3 == number[4]-4:
                print('straight')
            elif number[0] == 1 and number[1] == 10 and number[2] == 11 and number[3] == 12 and number[4] == 13:
                print('straight')
            else:
                print('null')
                
            

       
if __name__ == '__main__':
    main()