Skip to content
Open

l5 #1

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
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/Основы.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions Lesson_5/L5_T4.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 Lesson_5/L5_T4_1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Один- 1
Два- 2
Три- 3
Четыре- 4
1 change: 1 addition & 0 deletions Lesson_5/L5_T5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3 33
58 changes: 58 additions & 0 deletions Lesson_5/L5_T6.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Необходимо создать (не программно) текстовый файл,
# где каждая строка описывает учебный предмет и наличие лекционных, практических и лабораторных занятий
# по этому предмету и их количество.
# Важно, чтобы для каждого предмета не обязательно были все типы занятий.
# Сформировать словарь, содержащий название предмета и общее количество занятий по нему.
# Вывести словарь на экран.
# Примеры строк файла:
# Информатика: 100(л) 50(пр) 20(лаб).
# Физика: 30(л) — 10(лаб)
# Физкультура: — 30(пр) —
#
# Пример словаря:
# {“Информатика”: 170, “Физика”: 40, “Физкультура”: 30}

d = {}
with open('Les5_T6.txt', 'r', encoding='UTF-8') as f_obj:
while True:
s=0
f_obj_line=f_obj.readline()
if not f_obj_line:
break
key_value = f_obj_line.split(" ")
for i in key_value[1:]:
j=''
for x in range(len(i)):
if i[x].isdigit():
j+=i[x]
if j != '':
s+= int(j)
d[key_value[0][0:-1]] = s
print(d)



# for line in f_obj_line:
# key_value = line.split(" ")
# value = 0
# for i in d:
# list=d(i)
# if i.isdigit():
# value+=i
# else:
# break
# for j in sum_value:
# s_value+= sum_value(j)
# print(s_value)












34 changes: 34 additions & 0 deletions Lesson_5/L5_T7.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 7. Создать (не программно) текстовый файл, в котором каждая строка должна содержать данные о фирме:
# название, форма собственности, выручка, издержки.
# Пример строки файла: firm_1 ООО 10000 5000.
# Необходимо построчно прочитать файл, вычислить прибыль каждой компании, а также среднюю прибыль.
# Если фирма получила убытки, в расчет средней прибыли ее не включать.
# Далее реализовать список. Он должен содержать словарь с фирмами и их прибылями, а также словарь со средней прибылью. Если фирма получила убытки, также добавить ее в словарь (со значением убытков).
# Пример списка: [{“firm_1”: 5000, “firm_2”: 3000, “firm_3”: 1000}, {“average_profit”: 2000}].
# Итоговый список сохранить в виде json-объекта в соответствующий файл.
# Пример json-объекта:
# [{"firm_1": 5000, "firm_2": 3000, "firm_3": 1000}, {"average_profit": 2000}]
#
# Подсказка: использовать менеджеры контекста.

import json

list1={}
med_prft={}
rev=0
costs=0
with open('Les5_t7.txt','r', encoding='UTF-8') as f_obj:
while True:
my_file = f_obj.readline().split()
if not my_file:
break
prft = int(my_file[2]) - int(my_file[3])
if prft>0:
rev+=1
costs += prft
list1[my_file[0]]=prft
med_prft=costs/rev
result = [list1, med_prft]
print(result)
with open("result.json", 'w', encoding='utf-8') as f_obj:
json.dump(result, f_obj)
10 changes: 10 additions & 0 deletions Lesson_5/L5_t3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Иванов 15245.23
Петров 56325.35
Чирков 95354.23
Сидоров 56353.22
Задорнов 18321.44
Алексеев 62354.12
Сергеев 35543.32
Александров 35435.24
Владимиров 36533.24
Смирнов 16355.6
18 changes: 18 additions & 0 deletions Lesson_5/Les5_T5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Создать (программно) текстовый файл, записать в него программно набор чисел,
# разделенных пробелами. Программа должна подсчитывать сумму чисел в файле и
# выводить ее на экран.

def num(string):
total = 0
for number in string:
total += int(number)
return total
my_file = open('L5_T5.txt', 'w+')

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше всегда делать через контекстный менеджер

my_list = input("Введите числа через пробел:")
my_file.write(my_list)
my_file.seek(0)
my_list1 = my_file.read()
my_list2=my_list1.split(' ')
print(num(my_list2))

my_file.close()
3 changes: 3 additions & 0 deletions Lesson_5/Les5_T6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Информатика: 100(л) 70(пр) 40(лаб).
Физика: 70(л) — 90(лаб)
Физкультура: — 40(пр) —
8 changes: 8 additions & 0 deletions Lesson_5/Les5_Task1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

with open("text.txt", 'r') as file_obj:
content = file_obj.read()
end = ()
print(content)
for i in content:
print(i)

11 changes: 11 additions & 0 deletions Lesson_5/Les5_Task2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

with open("text.txt", 'r') as file_obj:
content = (file_obj.readlines())
print('В файле Text',len(content),'строк')
for i in range(len(content)):
content_1 = content[i].split()
print('В', i + 1,'строке', len(content_1), 'слов(а)')
print(content)



18 changes: 18 additions & 0 deletions Lesson_5/Les5_Task3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
with open('L5_t3.txt', 'r', encoding='UTF-8') as my_file:
i = 0
s = 0
print('Список сотрудников с окладом менее 20000:')
while True:
my_list = my_file.readline()
if not my_list:
break
if float(my_list.split(' ')[1]) < 20000:
print(my_list.split(' ')[0])
s += float(my_list.split(' ')[1])
i += 1

print('Средняя заработная плата сотрудников:', s/i)




14 changes: 14 additions & 0 deletions Lesson_5/Les5_Task4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
with open('L5_T4.txt', encoding='UTF-8') as f_obj:
for line in f_obj:
print(line)
rus_dict = {'One' : 'Один', 'Two' : 'Два', 'Three' : 'Три', 'Four' : 'Четыре'}
new_dict = []
with open('L5_T4.txt') as f_obj:
for i in f_obj:
i = i.split(' ', 1)
new_dict.append(rus_dict[i[0]] + i[1])
print(new_dict)

with open('L5_T4_1.txt', 'w', encoding='UTF-8') as file_obj_1:
file_obj_1.writelines(new_dict)

3 changes: 3 additions & 0 deletions Lesson_5/Les5_t7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
firm_1 OOO 10000 4000
firm_2 OOO 30000 200000
firm_3 OOO 20000 50000
7 changes: 7 additions & 0 deletions Lesson_5/Text.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Hello!
My name is Olesia
I am studying at the online university "Geek Brains"
bla-bla
bla bla bla
bla
bla-bla, bla, bla
4 changes: 4 additions & 0 deletions Lesson_5/file_4_new.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
���� - 1
��� - 2
��� - 3
������ - 4
1 change: 1 addition & 0 deletions Lesson_5/result.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"firm_1": 6000, "firm_2": -170000, "firm_3": -30000}, 6000.0]