diff --git a/first b/first new file mode 100644 index 0000000..82bd8fb --- /dev/null +++ b/first @@ -0,0 +1,2 @@ +text +change sth \ No newline at end of file diff --git a/week02/01.py b/week02/01.py new file mode 100644 index 0000000..68a3b47 --- /dev/null +++ b/week02/01.py @@ -0,0 +1,6 @@ +n = int(input()) +ch = n // 60 +min = n % 60 +if ch >= 24: + ch = ch % 24 +print(ch, min) diff --git a/week02/02.py b/week02/02.py new file mode 100644 index 0000000..3e31a91 --- /dev/null +++ b/week02/02.py @@ -0,0 +1,3 @@ +text = str(input()) +a = int(input()) +print("Hello" + ("," + text)*a) diff --git a/week02/03.py b/week02/03.py new file mode 100644 index 0000000..fb4c044 --- /dev/null +++ b/week02/03.py @@ -0,0 +1,9 @@ +a = int(input()) +b = int(input()) +c = int(input()) +min = a +if b < min: + min = b +if c < min: + min = c +print(min) diff --git a/week02/04.py b/week02/04.py new file mode 100644 index 0000000..0404bab --- /dev/null +++ b/week02/04.py @@ -0,0 +1,6 @@ +v = int(input()) +t = int(input()) +if v > 0: + print((v * t) % 109) +else: + print((109 + (v * t)) % 109) diff --git a/week02/05.py b/week02/05.py new file mode 100644 index 0000000..9476990 --- /dev/null +++ b/week02/05.py @@ -0,0 +1,12 @@ +def factorial(n): + if n == 0: + return 1 + else: + return n * factorial(n - 1) + + +n = int(input()) +ans = 0 +for i in range(1, n + 1): + ans += factorial(i) +print(ans) diff --git a/week02/06.py b/week02/06.py new file mode 100644 index 0000000..a82e438 --- /dev/null +++ b/week02/06.py @@ -0,0 +1,12 @@ +maks = int(input()) +prev = int(input()) +if maks < prev: + maks, prev = prev, maks +n = int(input()) +while n != 0: + if n > maks: + prev, maks = maks, n + elif n > prev: + prev = n + n = int(input()) +print(prev) diff --git a/week02/07.py b/week02/07.py new file mode 100644 index 0000000..3a41a19 --- /dev/null +++ b/week02/07.py @@ -0,0 +1,3 @@ +a = input().split() +for i in range(0, len(a), 2): + print(a[i]) diff --git a/week02/08.py b/week02/08.py new file mode 100644 index 0000000..d433aa7 --- /dev/null +++ b/week02/08.py @@ -0,0 +1,5 @@ +a = input() +s= a.split() +for num in s: + if int(num) % 2 == 0: + print(num) diff --git a/week02/09.py b/week02/09.py new file mode 100644 index 0000000..0e154db --- /dev/null +++ b/week02/09.py @@ -0,0 +1,10 @@ +def distance(x1, y1, x2, y2): + dist = ((y2 - y1) ** 2 + (x2 - x1) ** 2) ** (1 / 2) + return dist + + +x1 = float(input()) +y1 = float(input()) +x2 = float(input()) +y2 = float(input()) +print(distance(x1, y1, x2, y2)) diff --git a/week04/week04_1.py b/week04/week04_1.py new file mode 100644 index 0000000..b5ef2ef --- /dev/null +++ b/week04/week04_1.py @@ -0,0 +1,7 @@ +s = input() +lst = s.split() +ans = 0 +for i in range(1, len(lst) - 1): + if lst[i] > lst[i + 1] and lst[i] > lst[i - 1]: + ans += 1 +print(ans) diff --git a/week04/week04_2.py b/week04/week04_2.py new file mode 100644 index 0000000..5da7538 --- /dev/null +++ b/week04/week04_2.py @@ -0,0 +1,14 @@ +s = input() +lst = s.split() +maks = 0 +minim = 0 +for i in range(len(lst)): + if lst[i] < lst[minim]: + minim = i +for j in range(len(lst)): + if lst[j] > lst[maks]: + maks = j +lst[maks], lst[minim] = lst[minim], lst[maks] + +ans = " ".join(lst) +print(ans) diff --git a/week04/week04_3.py b/week04/week04_3.py new file mode 100644 index 0000000..ccc8121 --- /dev/null +++ b/week04/week04_3.py @@ -0,0 +1,9 @@ +s = input() +lst = s.split() + +ans = 0 +for i in range(len(lst)): + for j in range(i + 1, len(lst)): + if lst[i] == lst[j]: + ans += 1 +print(ans) diff --git a/week04/week04_4.py b/week04/week04_4.py new file mode 100644 index 0000000..efbd400 --- /dev/null +++ b/week04/week04_4.py @@ -0,0 +1,10 @@ +s = input() # уникальные элементы +lst = s.split() +ans = [] +lst = s.split() +ans = [] + +for num in lst: + if lst.count(num) == 1: + ans.append(num) +print(" ".join(ans)) diff --git a/week04/week04_5.py b/week04/week04_5.py new file mode 100644 index 0000000..d0736ad --- /dev/null +++ b/week04/week04_5.py @@ -0,0 +1,22 @@ +s1 = input() +lst1 = s1.split() +s2 = input() +lst2 = s2.split() +ans = [] + +for num1 in lst1: + for num2 in lst2: + if num1 == num2: + ans.append(num1) + +for i in range(len(ans)): + ans[i] = int(ans[i]) +n = 1 +while n < len(ans): + for i in range(len(ans) - n): + if ans[i] > ans[i + 1]: + ans[i], ans[i + 1] = ans[i + 1], ans[i] + n += 1 + +# ans = sorted(ans) +print(ans) diff --git a/week04/week04_6.py b/week04/week04_6.py new file mode 100644 index 0000000..a1772ba --- /dev/null +++ b/week04/week04_6.py @@ -0,0 +1,18 @@ +def uniquenum(s: str): + lst = s.split() + print("NO") + for i in range(1, len(lst)): + itr = 0 + for j in range(i): + if lst[i] == lst[j]: + print('YES') + break + else: + itr += 1 + if itr == i: + print('NO') + return " " + + +n = input() +print(uniquenum(n)) diff --git a/week04/week04_7.py b/week04/week04_7.py new file mode 100644 index 0000000..17b5996 --- /dev/null +++ b/week04/week04_7.py @@ -0,0 +1,8 @@ +text = set() +quantity=int(input()) + + +for _ in range(quantity): + text.update(input().split()) +print(len(text)) + diff --git a/week04/week04_8.py b/week04/week04_8.py new file mode 100644 index 0000000..73c01ff --- /dev/null +++ b/week04/week04_8.py @@ -0,0 +1,11 @@ +n = int(input()) +synonym = {} +for _ in range(n): + word1, word2 = input().split(' ') + synonym[word1] = word2 +x = input() +for i in synonym: + if synonym[i] == x: + print(i) + elif i == x: + print(synonym[i]) diff --git a/week05/problem01.py b/week05/problem01.py new file mode 100644 index 0000000..d196c83 --- /dev/null +++ b/week05/problem01.py @@ -0,0 +1,20 @@ +def power(a: float, n: int): + if n == 0: + return 1 + elif n > 0: + ans1 = 1 + for _ in range(n): + ans1 *= a + return ans1 + + elif n < 0: + ans2 = 1 + for _ in range(abs(n)): + ans2 *= a + return 1 / ans2 + + +if __name__ == '__main__': + a = int(input()) + n = int(input()) + print(power(a, n)) diff --git a/week05/problem02.py b/week05/problem02.py new file mode 100644 index 0000000..62264d4 --- /dev/null +++ b/week05/problem02.py @@ -0,0 +1,15 @@ +def NOD(a: int, b: int): + a = abs(a) + b = abs(b) + while a != 0 and b != 0: + if a > b: + a %= b + else: + b %= a + return a + b + + +if __name__ == '__main__': + a = int(input()) + b = int(input()) + print(NOD(a, b)) diff --git a/week05/problem03.py b/week05/problem03.py new file mode 100644 index 0000000..fab7954 --- /dev/null +++ b/week05/problem03.py @@ -0,0 +1,36 @@ +from math import pi + + +def square_of_triangle(a, h): + return (1 / 2) * a * h + + +def square_of_rectangle(a, b): + return a * b + + +def square_of_circle(a): + return pi * (a ** 2) + + +def square_of_figure(name, a, b): + if name == 'triangle': + return square_of_triangle(a, b) + + elif name == 'rectangle': + return square_of_rectangle(a, b) + + elif name == 'circle': + return square_of_circle(a) + + else: + return 'unavailable figure, please try again!!!!' + + +if __name__ == '__main__': + name = input('name of figure from list(circle, triangle, rectangle): ') + a1 = float(input( + "length of the first parameter(radius for circle, length of side for others): ")) # первый параметр фигуры + a2 = float(input( + "length of the second parameter(extra for circle, height for triangle, length of side for rectangle): ")) # второй параметр фигуры + print(square_of_figure(name, a1, a2)) diff --git a/week05/problem04.py b/week05/problem04.py new file mode 100644 index 0000000..c1169ba --- /dev/null +++ b/week05/problem04.py @@ -0,0 +1,36 @@ +def sum_of_main(l: list): + ans1 = 0 + for i in range(len(l)): + ans1 += l[i][i] + return ans1 + + +def sum_of_secondary(l: list): + ans2 = 0 + for i in range(len(l)): + ans2 += l[i][len(l) - i - 1] + return ans2 + + +def sum_of_diagonal(name: str, lst: list): + if name == "main": + return sum_of_main(lst) + elif name == "secondary": + return sum_of_secondary(lst) + else: + return "Please type correct name!!!!!" + + +if __name__ == '__main__': + # Example of working + from random import random # creating of array + + n = 4 + matrix = [] + for i in range(n): + lst = [] + for j in range(n): + lst.append(int(random() * 10)) + matrix.append(lst) + name = input('choose type of diagonal: ') + print(matrix, 'answer: ', sum_of_diagonal(name, matrix)) diff --git a/week05/problem05.py b/week05/problem05.py new file mode 100644 index 0000000..6ca4aa1 --- /dev/null +++ b/week05/problem05.py @@ -0,0 +1,21 @@ +import matplotlib.pyplot as mpl + + +def f(x): + if x > 5: + return 2 * x + elif x < -5: + return 2 * abs(x) - 1 + else: + return x ** 2 + + +if __name__ == '__main__': + x = [] + y = [] + for i in range(-10, 11, 1): + x.append(i) + for i in x: + y.append(f(i)) + mpl.plot(x, y) + mpl.show()