2015-10-13 74 views
1
rna = input('Enter a rna sequence: ') 
for i in rna: 
    if i in 'acguACGU': 
     print('That is a valid rna sequence.') 
    else: 
     print('That is not a valid rna sequence.') 

我想让用户输入对字符串进行测试,并且只在用户输入中的每个字母有效或无效时才打印答案。 (EX:GCC的输入应该给我的一个打印(“这是一个有效的RNA序列”),而不是打印3次如何测试for循环中的单个字符与另一个字符串的整个字符串?

回答

0
rna = input('Enter a rna sequence: ') 
if all(c in "acgu" for c in rna.lower()): 
    print('That is a valid rna sequence.') 
else: 
    print('That is not a valid rna sequence.') 
2

您可以使用set和测试,如果设定的rna(用户。输入)是你的包含所有可能的字符(或其他方式圆,集合的子集,如果集的所有可能的字符是一个超集的组输入)的例子 -

rna = input('Enter a rna sequence: ') 
seq = set('acguACGU') 
if seq.issuperset(rna): 
    print('That is a valid rna sequence.') 
else: 
    print('That is not a valid rna sequence.') 
+0

我将不得不调查更多的这些设置方法,这是一个我没有意识到的非常强大的工具。 – BlivetWidget

相关问题