From 7f15f14a32d88ffcc3cc71b930d3af30ad125b85 Mon Sep 17 00:00:00 2001 From: Pavel Date: Tue, 2 Apr 2019 14:51:05 +0300 Subject: [PATCH 1/6] hw1 --- less1/task5.py | 0 less1/task7.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 less1/task5.py create mode 100644 less1/task7.py diff --git a/less1/task5.py b/less1/task5.py new file mode 100644 index 0000000..e69de29 diff --git a/less1/task7.py b/less1/task7.py new file mode 100644 index 0000000..e69de29 From fd3fe526bece977de77b038ba0d4c90a564395a5 Mon Sep 17 00:00:00 2001 From: Pavel Date: Fri, 5 Apr 2019 13:18:59 +0300 Subject: [PATCH 2/6] hw5 --- less5/task1.py | 24 ++++++++++++++++++++++++ less5/task2.py | 17 +++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 less5/task1.py create mode 100644 less5/task2.py diff --git a/less5/task1.py b/less5/task1.py new file mode 100644 index 0000000..06ba174 --- /dev/null +++ b/less5/task1.py @@ -0,0 +1,24 @@ +''' +Пользователь вводит данные о количестве предприятий, их наименования и прибыль за 4 квартала (т.е. 4 отдельных числа) для каждого предприятия.. Программа должна определить среднюю прибыль (за год для всех предприятий) и вывести наименования предприятий, чья прибыль выше среднего и отдельно вывести наименования предприятий, чья прибыль ниже среднего. +''' + + +ind_cn = int(input('Количество предприятий: ')) + +ind_name = {} + +year_sum = 0 + +for i in range(ind_cn): + name = input('Название предприятия: ') + q = 4 + ysum = 0 + for j in range(q): + qsum = int(input('Выручка за {}-й квартал: '.format(j+1))) + ysum += qsum + ind_name[name] = ysum + year_sum += ysum + +mid_cash = year_sum/ind_cn +for i in ind_name: + print('Годовая выручка предприятия {} больше средней'.format(i) if ind_name[i] > mid_cash else'Годовая выручка {} предприятия меньшей средней'.format(i)) diff --git a/less5/task2.py b/less5/task2.py new file mode 100644 index 0000000..476f35f --- /dev/null +++ b/less5/task2.py @@ -0,0 +1,17 @@ +ind_cn = int(input('Количество предприятий: ')) + +ind_name = {} + +year_sum = 0 + +for i in range(ind_cn): + name = input('Название предприятия: ') + q = 4 + ysum = 0 + for j in range(q): + qsum = int(input('Выручка за', j, '-й квартал: ') + ysum += qsum + ind_name[name] = ysum + year_sum += ysum + +print(ind_name) From 4c8632d15044d6a87c0fe9d8a957c2476637b9e0 Mon Sep 17 00:00:00 2001 From: pashatick <45946101+pashatick@users.noreply.github.com> Date: Fri, 5 Apr 2019 13:22:31 +0300 Subject: [PATCH 3/6] Delete task2.py --- less5/task2.py | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 less5/task2.py diff --git a/less5/task2.py b/less5/task2.py deleted file mode 100644 index 476f35f..0000000 --- a/less5/task2.py +++ /dev/null @@ -1,17 +0,0 @@ -ind_cn = int(input('Количество предприятий: ')) - -ind_name = {} - -year_sum = 0 - -for i in range(ind_cn): - name = input('Название предприятия: ') - q = 4 - ysum = 0 - for j in range(q): - qsum = int(input('Выручка за', j, '-й квартал: ') - ysum += qsum - ind_name[name] = ysum - year_sum += ysum - -print(ind_name) From d25de89c723f2146cb3036559f6ddda20e2ba538 Mon Sep 17 00:00:00 2001 From: pashatick <45946101+pashatick@users.noreply.github.com> Date: Thu, 11 Apr 2019 23:40:43 +0300 Subject: [PATCH 4/6] added hw07 --- less7/task1.py | 20 ++++++++++++++++++++ less7/task2.py | 43 +++++++++++++++++++++++++++++++++++++++++++ less7/task3.py | 26 ++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 less7/task1.py create mode 100644 less7/task2.py create mode 100644 less7/task3.py diff --git a/less7/task1.py b/less7/task1.py new file mode 100644 index 0000000..abf3f3d --- /dev/null +++ b/less7/task1.py @@ -0,0 +1,20 @@ + +import random + +arr = [random.randint(-100, 99) for i in range(200)] + +print('Список до сортировки \n',arr) + +def rev_buble(arr): + count = 1 + N = len(arr) + while count < len(arr): + for i in range(N-count): + if arr[i] < arr[i+1]: + arr[i], arr[i+1] = arr[i+1], arr[i] + count += 1 + return arr +print() + +print('Список после сортировки \n', rev_buble(arr)) + diff --git a/less7/task2.py b/less7/task2.py new file mode 100644 index 0000000..771f4ae --- /dev/null +++ b/less7/task2.py @@ -0,0 +1,43 @@ +import random + +''' +Алгоритм сортировки слиянием +''' + +arr = [random.randint(0, 49) for i in range(10)] +print('До сортировки', arr) +print() +''' +Функция 'merge' обрабатывает каждую пару массивов из функции 'mergesort' +''' +def merge(left, right): + result = [] + i ,j = 0, 0 + while i < len(left) and j < len(right): # сравнивает элементы двух массивов + if left[i] <= right[j]: + result.append(left[i]) # и помещает меньший элемент в отсортированныый массив + i += 1 + else: + result.append(right[j]) + j += 1 + print('промежуточный результат',result) + result += left[i:] # когда счетчик одного из массивов заканчивается остатоk от другого помещается в result, + result += right[j:] # так как оставшиеся значения автоматически больше + print() + return result +''' +Функция 'mergesort' рекурсивно делит массив на две части > 50/2 > 25/2, 25/2 > 12/2, 12/2, 12/2, 12/2 > ... и тд +''' +def mergesort(arr): + if len(arr) < 2: + return arr + middle = int(len(arr) / 2) + print('середина', middle) + left = mergesort(arr[:middle]) + right = mergesort(arr[middle:]) + print("Левый и правый массив", left, right) + return merge(left, right) + + +print() +print('После сортировки', mergesort(arr)) diff --git a/less7/task3.py b/less7/task3.py new file mode 100644 index 0000000..f441318 --- /dev/null +++ b/less7/task3.py @@ -0,0 +1,26 @@ +import random + +m = random.randint(1, 5) +arr = [random.randint(0, 10) for i in range(2*m + 1)] +print(arr) + +half = int((len(arr)-1)/2) + +i = 0 +while i < len(arr): + mid = arr[i] + count = 0 + for j in arr: + if mid <= j: + count += 1 + else: + count += 0 + if count == half: + print('Медиана- ', mid) + break + i += 1 + + + + + From 17d4ef47fd5b1e9aa2bd60d788113cb455ba71ca Mon Sep 17 00:00:00 2001 From: pashatick <45946101+pashatick@users.noreply.github.com> Date: Mon, 15 Apr 2019 14:09:57 +0300 Subject: [PATCH 5/6] Add files via upload --- task1.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 task1.py diff --git a/task1.py b/task1.py new file mode 100644 index 0000000..8d94180 --- /dev/null +++ b/task1.py @@ -0,0 +1,16 @@ +import hashlib + + +a = input('Введи строку для поиска') +sub_st_len = int(input('Укажите длинну искомых подстрок')) + + +def find_sb_str(st, sub_st_len): + hash_list = [] + for i in range(len(st) - sub_st_len + 1): + hash_list.append(hashlib.sha1(st[i:i+sub_st_len].encode('utf-8')).hexdigest()) + + return len(set(hash_list)) + +print('Количество уникальных подстрок в заданной строке - ', find_sb_str(a, sub_st_len)) + From 2c5b21e208eeb5b12ab55c54f13570b4fb8dd674 Mon Sep 17 00:00:00 2001 From: pashatick <45946101+pashatick@users.noreply.github.com> Date: Mon, 15 Apr 2019 14:11:57 +0300 Subject: [PATCH 6/6] add HW8 --- less8/task1.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 less8/task1.py diff --git a/less8/task1.py b/less8/task1.py new file mode 100644 index 0000000..8d94180 --- /dev/null +++ b/less8/task1.py @@ -0,0 +1,16 @@ +import hashlib + + +a = input('Введи строку для поиска') +sub_st_len = int(input('Укажите длинну искомых подстрок')) + + +def find_sb_str(st, sub_st_len): + hash_list = [] + for i in range(len(st) - sub_st_len + 1): + hash_list.append(hashlib.sha1(st[i:i+sub_st_len].encode('utf-8')).hexdigest()) + + return len(set(hash_list)) + +print('Количество уникальных подстрок в заданной строке - ', find_sb_str(a, sub_st_len)) +