Skip to content

dna algorithm #6121

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 32 commits into from
Closed
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
00c22a3
Added censor function
meg-1 May 16, 2021
4194344
Added censor code
meg-1 May 17, 2021
e7d4102
Added comments to the code
meg-1 May 17, 2021
93bd4ac
modified censor function
meg-1 May 22, 2021
b714278
added decrypt function
meg-1 Aug 1, 2021
c879c7f
added cypher and decypher functions, deleted censor and decrypt funct…
meg-1 Aug 4, 2021
e60dd6f
Deleted decrypt.py
meg-1 Aug 4, 2021
b3e0cb8
Deleted censor.py
meg-1 Aug 4, 2021
e14b9ef
Merge branch 'TheAlgorithms:master' into master
meg-1 Aug 4, 2021
947f7d8
edited the crypt and decrypt files
meg-1 Aug 4, 2021
daf21ad
Update cypher_txt.py
meg-1 Aug 4, 2021
d3d8b29
Remove the endline in cypher.py
meg-1 Aug 4, 2021
752c197
Removed the print at the end of decypher.py
meg-1 Aug 4, 2021
9f44028
comitting changes
meg-1 Aug 18, 2021
f72431b
added 4 new algorithms
meg-1 Aug 18, 2021
4c891f4
added tests to the four files
meg-1 Aug 25, 2021
c600b10
added type hints for the function variables
meg-1 Aug 25, 2021
4286e40
Merge branch 'TheAlgorithms:master' into master
meg-1 Dec 11, 2021
7a909e2
Deleted decode message
meg-1 Dec 25, 2021
f5b5411
Deleted code message
meg-1 Dec 25, 2021
bc8388c
Welford average algorithm
meg-1 Jan 29, 2022
9be479e
added average welford algorithm
meg-1 Feb 9, 2022
5ebf785
indentation added
meg-1 Mar 26, 2022
0570692
switched print to return in the end
meg-1 Mar 26, 2022
1acfc26
added dna.py
meg-1 Apr 30, 2022
019ce35
deleted average_welford
meg-1 Apr 30, 2022
b913724
deleted censor.py
meg-1 Apr 30, 2022
a5f46a3
deleted decrypt.py
meg-1 Apr 30, 2022
47d6508
fixed mistakes in dna.py
meg-1 May 18, 2022
60e28ba
fixed dna.py
meg-1 May 28, 2022
43e6ad9
fixing dna.py
meg-1 Jun 1, 2022
e7aab65
enhancing description for dna.py
meg-1 Jun 22, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions strings/dna.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import re
import string


def dna(dna: str) -> str:

"""
https://en.wikipedia.org/wiki/DNA
Returns the second side of a DNA strand

>>> dna("GCTA")
'CGAT'
>>> dna("ATGC")
'TACG'
>>> dna("CTGA")
'GACT'
>>> dna("GFGG")
'Invalid Strand'
"""

r = len(re.findall("[ATCG]", dna)) != len(dna)
val = dna.translate(dna.maketrans("ATCG", "TAGC"))
return "Invalid Strand" if r else val


if __name__ == "__main__":
__import__("doctest").testmod()