-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask3.py
More file actions
56 lines (36 loc) · 1.28 KB
/
task3.py
File metadata and controls
56 lines (36 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# -*- coding: utf-8 -*-
"""
Created on Thu Jan 3 20:57:14 2019
@author: Ola
Python challenge by kodolamacz.pl
Task 3: Algorythms and data structures
"""
def sprytne_potegowanie(podstawa, wykladnik):
if wykladnik == 0:
return 1
if wykladnik % 2 == 1:
return (sprytne_potegowanie(podstawa, int(wykladnik/2))**2) * podstawa
else:
return (sprytne_potegowanie(podstawa, int(wykladnik/2)))**2
def czyPalindrom(napis):
return napis == napis[::-1]
def czyAnagram(napis1, napis2):
lista1 = list(napis1)
lista2 = list(napis2)
lista1.sort()
lista2.sort()
return lista1 == lista2
def moda(lista):
iloscWystepowan = []
for i in range(0, len(lista)):
iloscWystepowan.append(lista.count(lista[i]))
return lista[iloscWystepowan.index(max(iloscWystepowan))]
def main():
print("2^10 = " + str(sprytne_potegowanie(2, 10)))
print("czyPalindrom(kajak) = " + str(czyPalindrom("kajak")))
print("czyPalindrom(kobyla) = " + str(czyPalindrom("kobyla")))
print("czyAnagram(kajak, jaakk) = " + str(czyAnagram("kajak", "jaakk")))
print("czyAnagram(kobyla, boczek) = " + str(czyAnagram("kobyla", "boczek")))
print("moda([1,6,4,7,2,8,6,7,6]) = " + str(moda([1,6,4,7,2,8,6,7,6])))
if __name__ == "__main__":
main()