TheAlgorithms-Python

Форк
0
30 строк · 555.0 Байт
1
import re
2

3

4
def dna(dna: str) -> str:
5
    """
6
    https://en.wikipedia.org/wiki/DNA
7
    Returns the second side of a DNA strand
8

9
    >>> dna("GCTA")
10
    'CGAT'
11
    >>> dna("ATGC")
12
    'TACG'
13
    >>> dna("CTGA")
14
    'GACT'
15
    >>> dna("GFGG")
16
    Traceback (most recent call last):
17
        ...
18
    ValueError: Invalid Strand
19
    """
20

21
    if len(re.findall("[ATCG]", dna)) != len(dna):
22
        raise ValueError("Invalid Strand")
23

24
    return dna.translate(dna.maketrans("ATCG", "TAGC"))
25

26

27
if __name__ == "__main__":
28
    import doctest
29

30
    doctest.testmod()
31

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.