I am having trouble testing an indice for multiple values.

I need to see if var[-3:] is one of three acceptable strings 'tag','taa','tga'.

this is what I have so far:

dna = 'n'
i = 0
x = 1
count = 0
while (dna != 'q'):
dna = raw_input("Input DNA sequence, or 'q' to quit: ")
dna = dna.lower()
seq2 = [dna[i:i+3] for i in range(0, len(dna), 3) ]
codons = len(dna) / 3
if len(dna) % 3 != 0: # Ensure dna is a multiple of 3
print 'not a multiple of 3'
continue
elif dna[0:3] != 'atg': # ensure that 'atg' is the first string
print 'Not DNA, no start codon'
continue
elif dna[-3:] != 'tga':
while (dna[-3:] != 'tga'):
if dna[-3:] != 'tag':
while (dna[-3:] != 'tag'):
if dna[-3:] != 'taa':
print 'Not DNA, no stop codon'
break

THE LAST 7 LINES OF CODE ARE TESTING dna TO SEE IF IT ENDS WITH ONE OF THOSE STRING. HOWEVER, I CANT SEEM TO GET OUT OF THE LOOP PROPERLY. WHAT DO I DO ? CAN I TEST FOR ALL 3 IN ONE STATEMENT ?