diff --git a/hometask5/task1.py b/hometask5/task1.py new file mode 100644 index 0000000..9ca9b94 --- /dev/null +++ b/hometask5/task1.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +# nevl 2021 + +if __name__ == '__main__': + with open('task1.txt', 'w') as file: + while True: + str = input('Enter data (empty string to stop): ') + if str == '': + break + file.write(str + '\n') diff --git a/hometask5/task1.txt b/hometask5/task1.txt new file mode 100644 index 0000000..e953dcb --- /dev/null +++ b/hometask5/task1.txt @@ -0,0 +1,2 @@ +ewrw +3432 diff --git a/hometask5/task2.py b/hometask5/task2.py new file mode 100644 index 0000000..2cd7344 --- /dev/null +++ b/hometask5/task2.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +# nevl 2021 + +if __name__ == '__main__': + i = 0 + with open('task2.txt', 'r') as file: + while True: + line = file.readline() + if not line: + break + i += 1 + count = line.strip().split() + print(f'{i}: {len(count)} words') + + print(f'There are {i} lines') diff --git a/hometask5/task2.txt b/hometask5/task2.txt new file mode 100644 index 0000000..b4bacbf --- /dev/null +++ b/hometask5/task2.txt @@ -0,0 +1,3 @@ +Создать программно файл в текстовом формате, записать в него построчно данные, вводимые пользователем. Об окончании ввода данных свидетельствует пустая строка. +Создать текстовый файл (не программно), сохранить в нем несколько строк, выполнить подсчет количества строк, количества слов в каждой строке. +Создать текстовый файл (не программно), построчно записать фамилии сотрудников и величину их окладов. Определить, кто из сотрудников имеет оклад менее 20 тыс., вывести фамилии этих сотрудников. Выполнить подсчет средней величины дохода сотрудников. \ No newline at end of file diff --git a/hometask5/task3.py b/hometask5/task3.py new file mode 100644 index 0000000..d93d09d --- /dev/null +++ b/hometask5/task3.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# nevl 2021 + +if __name__ == '__main__': + employes = dict() + with open('task3.txt', 'r') as file: + lines = file.readlines() + for line in lines: + t = line.split() + employes[t[0]] = int(t[1]) + if int(t[1]) < 20000: + print(f'{t[0]}\t{t[1]}') + + print(sum(employes.values()) / len(employes.values())) diff --git a/hometask5/task3.txt b/hometask5/task3.txt new file mode 100644 index 0000000..df09985 --- /dev/null +++ b/hometask5/task3.txt @@ -0,0 +1,10 @@ +Ivanov 30201 +Petrov 10000 +Sidorov 20000 +Derev 20100 +Drob 55555 +Sokolov 12010 +Prichka 52000 +Philin 12000 +Pushkin 22222 +Table 10202 \ No newline at end of file diff --git a/hometask5/task4.py b/hometask5/task4.py new file mode 100644 index 0000000..70d3e85 --- /dev/null +++ b/hometask5/task4.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +# nevl 2021 + +if __name__ == '__main__': + data = dict() + with open('task4.txt', 'r') as file: + lines = file.readlines() + for line in lines: + t = line.split() + data[t[0]] = int(t[2]) + + numbers = { + 'One':'Один', + 'Two':'Два', + 'Three':'Три', + 'Four':'Четыре' + } + + with open('task4_new.txt', 'w') as file: + for it in data.keys(): + file.write(f'{numbers[it]} - {data[it]}\n') diff --git a/hometask5/task4.txt b/hometask5/task4.txt new file mode 100644 index 0000000..48de98b --- /dev/null +++ b/hometask5/task4.txt @@ -0,0 +1,4 @@ +One - 1 +Two - 2 +Three - 3 +Four - 4 \ No newline at end of file diff --git a/hometask5/task4_new.txt b/hometask5/task4_new.txt new file mode 100644 index 0000000..ab95344 --- /dev/null +++ b/hometask5/task4_new.txt @@ -0,0 +1,4 @@ +Один - 1 +Два - 2 +Три - 3 +Четыре - 4 diff --git a/hometask5/task5.py b/hometask5/task5.py new file mode 100644 index 0000000..c378083 --- /dev/null +++ b/hometask5/task5.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# nevl 2021 + +import random + +if __name__ == '__main__': + with open('task5.txt', 'w+') as file: + for _ in range(100): + file.write(f'{random.randint(0, 100)} ') + + file.seek(0) + data = [int(i) for i in file.read().split()] + print(sum(data)) + \ No newline at end of file diff --git a/hometask5/task5.txt b/hometask5/task5.txt new file mode 100644 index 0000000..87fd7bc --- /dev/null +++ b/hometask5/task5.txt @@ -0,0 +1 @@ +28 49 34 1 48 7 72 32 75 37 78 7 79 48 81 46 29 24 38 62 20 68 49 99 92 35 4 96 59 92 75 68 50 95 27 85 78 10 80 72 41 86 14 60 54 95 70 40 90 80 17 49 54 6 53 74 95 5 7 53 38 95 75 38 54 99 79 64 70 7 12 75 8 95 58 63 54 19 74 92 91 63 50 57 43 96 88 38 24 92 48 99 27 97 69 47 27 32 6 33 \ No newline at end of file diff --git a/hometask5/task6.py b/hometask5/task6.py new file mode 100644 index 0000000..4f6657b --- /dev/null +++ b/hometask5/task6.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +# nevl 2021 + +import re + +if __name__ == '__main__': + subjects = dict() + + with open('task6.txt', 'r') as file: + lines = file.readlines() + for line in lines: + data = line.split(':') + nums = re.findall(r'\d+', data[1]) + subjects[data[0]] = sum(int(n) for n in nums) + + print(subjects) diff --git a/hometask5/task6.txt b/hometask5/task6.txt new file mode 100644 index 0000000..778ba57 --- /dev/null +++ b/hometask5/task6.txt @@ -0,0 +1,5 @@ +Информатика: 100(л) 50(пр) 20(лаб). +Физика: 30(л) - 10(лаб) +Физкультура: - 30(пр) - +Математика: 150(л) 10(пр) 1(лаб). +Химия: - - 50(лаб). \ No newline at end of file diff --git a/hometask5/task7.py b/hometask5/task7.py new file mode 100644 index 0000000..b54cad3 --- /dev/null +++ b/hometask5/task7.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# nevl 2021 + +import json + +if __name__ == '__main__': + i = 0 + result = dict() + total_profit = 0.0 + + with open('task7.txt', 'r') as file: + while True: + # read file by line + line = file.readline() + if not line: + break + + # split line + data = line.split() + # calculate + profit = int(data[2]) - int(data[3]) + result[data[0]] = profit + if profit > 0: + total_profit += profit + # positive profit company counter + i += 1 + + # calculate average_profit + average_profit = {'average_profit':total_profit/i if i else 1} + + with open('task7_new.txt', 'w') as file: + json.dump([result, average_profit], file) diff --git a/hometask5/task7.txt b/hometask5/task7.txt new file mode 100644 index 0000000..82757ae --- /dev/null +++ b/hometask5/task7.txt @@ -0,0 +1,10 @@ +firm_1 ООО 10000 5000 +firm_2 ОАО 10000 50000 +firm_3 ИП 20000 5000 +firm_4 ООО 20000 10000 +firm_5 ООО 30000 35000 +firm_6 ОА 10000 5000 +firm_7 ОАО 10000 5000 +firm_8 ООО 5000 15000 +firm_9 ЗАО 100000 50000 +firm_10 ИП 100000 100000 \ No newline at end of file diff --git a/hometask5/task7_new.txt b/hometask5/task7_new.txt new file mode 100644 index 0000000..a53030e --- /dev/null +++ b/hometask5/task7_new.txt @@ -0,0 +1 @@ +[{"firm_1": 5000, "firm_2": -40000, "firm_3": 15000, "firm_4": 10000, "firm_5": -5000, "firm_6": 5000, "firm_7": 5000, "firm_8": -10000, "firm_9": 50000, "firm_10": 0}, {"average_profit": 15000.0}] \ No newline at end of file