diff --git a/task01.py b/task01.py new file mode 100644 index 0000000..a3e247c --- /dev/null +++ b/task01.py @@ -0,0 +1,22 @@ +# Задание №1 +# Пользователь вводит данные о количестве предприятий, их наименования и прибыль за 4 квартал +# (т.е. 4 числа) для каждого предприятия. Программа должна определить среднюю прибыль (за год для +# всех предприятий) и отдельно вывести наименования предприятий, чья прибыль выше среднего и ниже +# среднего. + +import collections + +n = int(input("Введите количество предприятий")) +ent = collections.defaultdict(list) +for i in range(n): + name = input('Введите название предприятия №{0} '.format(i)) + for j in range(4): + prib = int(input('Введите прибыль за квартал №{0} '.format(j))) + ent[name].append(prib) + avg_arr = [sum(ent[x])/4 for x in ent] + avg = sum(avg_arr)/n +print("Средняя прибыль предприятий за год:", avg) +print("Список предприятий прибыль выше среднего:") +print([x for x in ent if sum(ent[x])/4 > avg]) +print("Список предприятий прибыль меньше среднего:") +print([x for x in ent if sum(ent[x])/4 < avg]) diff --git a/task02.py b/task02.py new file mode 100644 index 0000000..f702171 --- /dev/null +++ b/task02.py @@ -0,0 +1,51 @@ +# Задание №2 +# Написать программу сложения и умножения двух шестнадцатеричных чисел. При этом каждое число +# представляется как массив, элементы которого — цифры числа. Например, пользователь +# ввёл A2 и C4F. Нужно сохранить их как [‘A’, ‘2’] и [‘C’, ‘4’, ‘F’] соответственно. Сумма чисел +# из примера: [‘C’, ‘F’, ‘1’], произведение - [‘7’, ‘C’, ‘9’, ‘F’, ‘E’]. + +import collections + + +def get_dict(str_): + counter = collections.Counter() + len_str = len(str_) + for i in range(len_str): + counter[i] = int(str_[len(str_) - i - 1], 16) # int(str_[i]) + return counter + +def get_hex_result(coll): + perenos = 0; res = "" + for i in coll: + coll[i] = coll[i] + perenos + if coll[i] > 16: + perenos = coll[i] // 16 + coll[i] = coll[i] % 16 + else: + perenos = 0 + res = hex(coll[i])[2:].upper() + res + else: + if perenos > 0: + res = hex(perenos)[2:].upper() + res + return res + +def addition(x1,x2): + sum_coll = get_dict(x1) + get_dict(x2) + return get_hex_result(sum_coll) + +def mult(x1,x2): + count1 = get_dict(x1) + count2 = get_dict(x2) + counter = collections.Counter() + for i in count1: + for j in count2: + counter[j+i] = counter[j+i] + count1[i]*count2[j] + return get_hex_result(counter) + +x1 = input("Введите первое шестнадцатиричное число") +x2 = input("Введите второе шестнадцатиричное число") + +print("Сумма:", addition(x1, x2)) + +print("Произведение:", mult(x1, x2)) + diff --git a/test.txt b/test.txt deleted file mode 100644 index 56a6051..0000000 --- a/test.txt +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file