Python 3.x 可以在for循环中使用多个if语句吗?

Python 3.x 可以在for循环中使用多个if语句吗?,python-3.x,loops,for-loop,if-statement,Python 3.x,Loops,For Loop,If Statement,有没有一种方法可以让for循环通过使用一些多个条件来迭代字符串列表?。我试图构建一个for循环,它应该迭代由字符串组成的列表中的每个元素,但是看起来for循环并没有对列表中的每个iterable操作每个条件 比如说, 我有许多字符串,它们因各自的内容不同而有所不同,例如(DNA用“T”代替“U”,RNA用“U”代替“T”,未知(UNK)既没有“T”也没有“U”或任何其他字符 输入是['tacaactgatt'、'aagggcagccuggau'、'gaaaggcaggcg'、'guaccaguu

有没有一种方法可以让for循环通过使用一些多个条件来迭代字符串列表?。我试图构建一个for循环,它应该迭代由字符串组成的列表中的每个元素,但是看起来for循环并没有对列表中的每个iterable操作每个条件

比如说,

我有许多字符串,它们因各自的内容不同而有所不同,例如(DNA用“T”代替“U”,RNA用“U”代替“T”,未知(UNK)既没有“T”也没有“U”或任何其他字符

输入是
['tacaactgatt'、'aagggcagccuggau'、'gaaaggcaggcg'、'guaccaguu.'acggggacggac']

输出应为DNA序列的类型:

Result: DNA, RNA, UNK, RNA, UNK
我认为我的错误是由于在for循环中误用了分句,但我不知道如何修复它

到目前为止,我得到的是:

seq = list(input('Enter your sequence:').upper())

for obj in seq:
    if 'U' not in obj and 'T' in obj:
        print('Result: DNA')
        break
    if 'U' in obj and 'T' not in obj:
       print('Result: RNA')
       break  
    else:
        print('Result: UNK')

您正在使用break语句停止迭代

seq = ['tacaactgatcatt', 'aagggcagccugggau','gaaaaggcaggcg','guaccaguuu',
'acggggaccgac']

upp_seq = [obj.upper() for obj in seq]

result = []

for obj in upp_seq:
    if 'U' not in obj and 'T' in obj:
        result.append('DNA')
    elif 'U' in obj and 'T' not in obj:
        result.append('RNA')
    else:
        result.append('UNK')

print(result)

# print: ['DNA', 'RNA', 'UNK', 'RNA', 'UNK']

通过避免使用break语句,我得到的是另一种迭代,因为它返回多个结果,它应该根据条件返回字符串的类型,可能是因为它没有遍历列表中的每个对象。是否要打印列表中每个元素的结果?是的,但只需发送一次打印结果:DNA,RNA,UNK,RNA,UNK。将结果存储在一个列表中如何?检查更新答案。是的,它看起来有效,但我现在尝试修复该情况,因为列表中的第一个可匹配项应该是DNA,第二个是RNA。这可能是因为另一句话,我认为是为了囤积