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
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.

8 changes: 8 additions & 0 deletions .idea/python_basics.iml

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.

Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,12 @@
записать в него построчно данные, вводимые пользователем.
Об окончании ввода данных свидетельствует пустая строка.
"""

my_f = open("text_file.txt", "w")
while True:
text = input()
my_f.write(text)
my_f.write('\n')
if text == '':
break
my_f.close()
Copy link
Owner

Choose a reason for hiding this comment

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

выполнено

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
123 123 3456
123 wertyu tyuiuop

Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,13 @@
2) Создать текстовый файл (не программно), сохранить в нем несколько строк,
выполнить подсчет количества строк, количества слов в каждой строке.
"""

with open('text_file_2.txt', encoding='utf-8') as my_f:
x = 0
for line in my_f:
x += 1
my_list = line.split(' ')
y = len(my_list)
print(f"{line} Количество слов в строке: {y}\n")
print(f"Количество строк: {x}")
my_f.close()
Copy link
Owner

Choose a reason for hiding this comment

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

выполнено

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Хакер, юзер, программист —
За компьютером артист!
Выдает лихие вещи,
Не поймешь его, хоть тресни!
Он с программами на «ты»
От «каспера» до «винды».
Что с процессором случится —
Каждый в гости к нему мчится.
Он решит любой вопрос,
Гениальный мега-мозг!
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,23 @@
Two — 2
Three — 3
Four — 4
Необходимо написать программу, открывающую файл на чтение и считывающую построчно данные.
Необходимо написать программу, открывающую файл на чтение и считывающую
построчно данные.
При этом английские числительные должны заменяться на русские.
Новый блок строк должен записываться в новый текстовый файл.
"""

with open('text_file_3.txt', 'r', encoding='utf-8') as my_f, \
open('text_file_3_new.txt', 'w', encoding='utf-8') as my_f_new:
for line in my_f:
my_string = line.split(' ')
if my_string[0] == 'One':
my_string[0] = 'Один'
elif my_string[0] == 'Two':
my_string[0] = 'Два'
elif my_string[0] == 'Three':
my_string[0] = 'Три'
elif my_string[0] == 'Four':
my_string[0] = 'Четыре'
new_text = " ".join(my_string)
my_f_new.write(new_text)
Copy link
Owner

Choose a reason for hiding this comment

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

выполнено

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
One — 1
Two — 2
Three — 3
Four — 4
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Один — 1
Два — 2
Три — 3
Четыре — 4
Original file line number Diff line number Diff line change
@@ -1,9 +1,25 @@
"""
3. Создать текстовый файл (не программно), построчно записать фамилии сотрудников
и величину их окладов (не менее 10 строк). Определить, кто из сотрудников имеет оклад менее 20 тыс.,
вывести фамилии этих сотрудников. Выполнить подсчет средней величины дохода сотрудников.
3. Создать текстовый файл (не программно), построчно записать фамилии
сотрудников и величину их окладов (не менее 10 строк). Определить,
кто из сотрудников имеет оклад менее 20 тыс.,вывести фамилии этих сотрудников.
Выполнить подсчет средней величины дохода сотрудников.
Пример файла:

Иванов 23543.12
Петров 13749.32
"""

with open('text_file_4.txt', 'r', encoding='utf-8') as my_f:
print(f"Оклад сотрудников меньше 20 тыс.: ")
sum_salary = 0
n = 0
for line in my_f:
my_string = line.split(' ')
y = my_string[1].rstrip()
x = float(y)
if x < 20000:
print(f"{my_string[0]}")
n += 1
sum_salary = sum_salary + x
average_income = round(sum_salary / n, 2)
print(f"Средняя величина дохода этих сотрудников: {average_income}")
Copy link
Owner

Choose a reason for hiding this comment

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

выполнено

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Иванов 23543.12
Петров 13749.32
Сидоров 24603.52
Медведев 16538.46
Патрушев 28310.88
Виноградов 18091.21
Денисов 22379.43
Гусакова 16792.77
Строева 25529.38
Колосова 23204.11
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
"""
5) Создать (программно) текстовый файл, записать в него программно набор чисел,
разделенных пробелами. Программа должна подсчитывать сумму чисел в файле и выводить ее на экран.
5) Создать (программно) текстовый файл, записать в него программно набор
чисел, разделенных пробелами. Программа должна подсчитывать сумму чисел
в файле и выводить ее на экран.
"""

from random import randint

with open("text_file_5.txt", "w") as my_f1:
for i in range(10):
my_f1.write(str(randint(0, 10000)))
my_f1.write(" ")

total_sum = 0
with open("text_file_5.txt", "r") as my_f2:
line = my_f2.readline()
for integer in line.split():
total_sum += int(integer)
print(f"Сумма чисел в файле: {total_sum}")
Copy link
Owner

Choose a reason for hiding this comment

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

выполнено

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
569 3858 4747 428 3333 5454 3815 7293 1219 8318
Original file line number Diff line number Diff line change
@@ -1,7 +1,26 @@
"""
6) Необходимо создать (не программно) текстовый файл, где каждая строка описывает учебный предмет и наличие лекционных, практических и лабораторных занятий по этому предмету и их количество. Важно, чтобы для каждого предмета не обязательно были все типы занятий. Сформировать словарь, содержащий название предмета и общее количество занятий по нему. Вывести словарь на экран.
6) Необходимо создать (не программно) текстовый файл, где каждая строка
описывает учебный предмет и наличие лекционных, практических и лабораторных
занятий по этому предмету и их количество. Важно, чтобы для каждого предмета
не обязательно были все типы занятий. Сформировать словарь, содержащий
название предмета и общее количество занятий по нему. Вывести словарь на
экран.
Примеры строк файла: Информатика: 100(л) 50(пр) 20(лаб).
Физика: 30(л) — 10(лаб)
Физкультура: — 30(пр) —
Физика: 30(л) — 10(лаб)
Физкультура: — 30(пр) —
Пример словаря: {“Информатика”: 170, “Физика”: 40, “Физкультура”: 30}
"""

result = {}
with open("text_file_6.txt", "r", encoding='utf-8') as my_f:
for line in my_f:
items = line.split(':')[0]
amount = line.split()[1:]
result[items] = 0
amount_sum = 0
for i in amount:
count = i.split('(')[0]
if count != '—':
amount_sum += int(count)
result[items] += amount_sum
print(result)
Copy link
Owner

Choose a reason for hiding this comment

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

выполнено

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Информатика: 100(л) 50(пр) 20(лаб)
Физика: 30(л) — 10(лаб)
Физкультура: — 30(пр) —
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"firm_1": 5000, "firm_2": 5000, "firm_3": 6000, "firm_4": 5000, "firm_5": 17000}, {"average_profit": 7600.0}]
Original file line number Diff line number Diff line change
@@ -1,11 +1,39 @@
"""
7) Создать вручную и заполнить несколькими строками текстовый файл, в котором каждая строка должна содержать данные о фирме: название, форма собственности, выручка, издержки.
7) Создать вручную и заполнить несколькими строками текстовый файл,
в котором каждая строка должна содержать данные о фирме: название, форма
собственности, выручка, издержки.
Пример строки файла: firm_1 ООО 10000 5000.
Необходимо построчно прочитать файл, вычислить прибыль каждой компании, а также среднюю прибыль. Если фирма получила убытки, в расчет средней прибыли ее не включать.
Далее реализовать список. Он должен содержать словарь с фирмами и их прибылями, а также словарь со средней прибылью. Если фирма получила убытки, также добавить ее в словарь (со значением убытков).
Пример списка: [{“firm_1”: 5000, “firm_2”: 3000, “firm_3”: 1000}, {“average_profit”: 2000}].
Необходимо построчно прочитать файл, вычислить прибыль каждой компании,
а также среднюю прибыль. Если фирма получила убытки, в расчет средней прибыли
ее не включать.
Далее реализовать список. Он должен содержать словарь с фирмами и их прибылями,
а также словарь со средней прибылью. Если фирма получила убытки, также
добавить ее в словарь (со значением убытков).
Пример списка:
[{“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

sum_of_profit = 0
firms_dict = dict()
profit_counter = 0
firms_list = list()
with open("text_file_7.txt", "r", encoding='utf-8') as my_f:
while True:
line = list(my_f.readline().split())
if not line:
break
if int(line[2]) > int(line[3]):
sum_of_profit += int(line[2]) - int(line[3])
profit_counter += 1
firms_dict.update({line[0]: int(line[2]) - int(line[3])})
firms_list.append(firms_dict)
firms_list.append(dict(average_profit=sum_of_profit / profit_counter))
print(firms_list)
with open("file_7.json", "w", encoding='utf-8') as my_f:
json.dump(firms_list, my_f)
Copy link
Owner

Choose a reason for hiding this comment

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

выполнено

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
firm_1 ООО 10000 5000
firm_2 ОАО 11000 6000
firm_3 ПАО 15000 9000
firm_4 ИП 13000 8000
firm_5 ЗАО 20000 3000