-6

我需要确保用户放入函数的字符串只包含字母“A”、“T”、“G”和“C”。如果它包含任何其他字符,我需要能够返回错误消息。例如:如果用户输入“ATTGACT”字符串将通过我的函数前进,但如果用户输入“ATTQWSCT”字符串将触发错误消息。这是一个涉及 DNA 的函数,因此字符串只能包含这些字母。

4

2 回答 2

5

真的很容易使用re

import re
pattern = "[^ACTG]+"
string = raw_input()
if re.findall(pattern, string):
    #error
else:
    #your code here

...或默认 Python 集:

string = raw_input()
if set(string) <= {"A", "C", "T", "G"}:
    #error
else:
    #your code here

...或迭代:

string = raw_input()
for i in string:
    if not (i in "ACTG"):
        #error

# Or, as @l4mpi said:
all(c in "ACTG" for c in string)
于 2013-10-17T13:15:56.687 回答
0
sequence="AATQWIC"
correct = "ATGC"

for each_char in sequence:
    if not each_char in correct:
        print "Error"
于 2013-10-17T13:15:21.243 回答