Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions hometask5/task1.py
Original file line number Diff line number Diff line change
@@ -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')
2 changes: 2 additions & 0 deletions hometask5/task1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ewrw
3432
15 changes: 15 additions & 0 deletions hometask5/task2.py
Original file line number Diff line number Diff line change
@@ -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')
3 changes: 3 additions & 0 deletions hometask5/task2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Создать программно файл в текстовом формате, записать в него построчно данные, вводимые пользователем. Об окончании ввода данных свидетельствует пустая строка.
Создать текстовый файл (не программно), сохранить в нем несколько строк, выполнить подсчет количества строк, количества слов в каждой строке.
Создать текстовый файл (не программно), построчно записать фамилии сотрудников и величину их окладов. Определить, кто из сотрудников имеет оклад менее 20 тыс., вывести фамилии этих сотрудников. Выполнить подсчет средней величины дохода сотрудников.
14 changes: 14 additions & 0 deletions hometask5/task3.py
Original file line number Diff line number Diff line change
@@ -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()))
10 changes: 10 additions & 0 deletions hometask5/task3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Ivanov 30201
Petrov 10000
Sidorov 20000
Derev 20100
Drob 55555
Sokolov 12010
Prichka 52000
Philin 12000
Pushkin 22222
Table 10202
21 changes: 21 additions & 0 deletions hometask5/task4.py
Original file line number Diff line number Diff line change
@@ -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')
4 changes: 4 additions & 0 deletions hometask5/task4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
One - 1
Two - 2
Three - 3
Four - 4
4 changes: 4 additions & 0 deletions hometask5/task4_new.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Один - 1
Два - 2
Три - 3
Четыре - 4
14 changes: 14 additions & 0 deletions hometask5/task5.py
Original file line number Diff line number Diff line change
@@ -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))

1 change: 1 addition & 0 deletions hometask5/task5.txt
Original file line number Diff line number Diff line change
@@ -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
16 changes: 16 additions & 0 deletions hometask5/task6.py
Original file line number Diff line number Diff line change
@@ -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)
5 changes: 5 additions & 0 deletions hometask5/task6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Информатика: 100(л) 50(пр) 20(лаб).
Физика: 30(л) - 10(лаб)
Физкультура: - 30(пр) -
Математика: 150(л) 10(пр) 1(лаб).
Химия: - - 50(лаб).
32 changes: 32 additions & 0 deletions hometask5/task7.py
Original file line number Diff line number Diff line change
@@ -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)
10 changes: 10 additions & 0 deletions hometask5/task7.txt
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions hometask5/task7_new.txt
Original file line number Diff line number Diff line change
@@ -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}]