Uwaga: Kod każdej funkcji można zaznaczyć i skopiować.
def ile(s):
ileA = ileC = ileG = ileT = 0
for znak in s:
if znak == 'A':
ileA += 1
elif znak == 'C':
ileC += 1
elif znak == 'G':
ileG += 1
else:
ileT += 1
return [ileA, ileC, ileG, ileT]
# Przykład: ile("CAATAAAAA") -> [7, 1, 0, 1]
def pary(s):
licznik = 0
for i in range(len(s)-1):
if s[i] == s[i+1]:
licznik += 1
return licznik
# Przykład: pary("TGATTCTGACAAGTGTT") -> 4
def oduz(s):
wynik = ""
s = s[::-1]
for znak in s:
if znak == 'A':
wynik += 'T'
elif znak == 'T':
wynik += 'A'
elif znak == 'C':
wynik += 'G'
else: # 'G'
wynik += 'C'
return wynik
# Przykład: oduz("TGACCCA") -> "TGGGTCA"
def ta(s):
wynik = ""
for znak in s:
if znak == 'A':
wynik += 'A'
else:
wynik += '*'
return wynik
# Przykład: ta("TGACCCA") -> "**A***A"
def codruga(napis):
wynik = ""
for i in range(0, len(napis), 2):
wynik += napis[i]
return wynik
# Przykład: codruga("aksamitka") -> "asmta"
def wspak(napis):
wynik = ""
for i in range(len(napis)-1, -1, -1):
wynik += napis[i]
return wynik
# Przykład: wspak("aloes") -> "seola"
def lustro(napis):
return napis + napis[::-1]
# Przykład: lustro("aster") -> "asterretsa"
def przeplot(napis):
wynik = ""
for i in range(len(napis)):
wynik += napis[i] + napis[-i-1]
return wynik
# Przykład: przeplot("azalia") -> "aaziallaizaa"
def hamming(s, t):
roznice = 0
for i in range(len(s)):
if s[i] != t[i]:
roznice += 1
return roznice
# Przykład: hamming("CAGGTT", "CAGGTT") -> 0
# hamming("CAGGCTACTACCGGTAT", "CATCGTAATGCAGGGCT") -> 8
def czy_palindrom(s):
return s == s[::-1]
# Przykład: czy_palindrom("aabbaa") -> True
def czy_palindrom2(s):
s = s.replace(" ", "")
return s == s[::-1]
# Przykład: czy_palindrom2("a to kanapa pana kota") -> True
def anagram(s1, s2):
if len(s1) != len(s2):
return False
return sorted(s1) == sorted(s2)
# Przykład: anagram("burza", "arbuz") -> True
Wszystkie funkcje zgodne z zadaniami z plików. Na kartkówce zmienią się tylko dane wejściowe.