2015-10-13 37 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

相關問題