diff --git a/Homework_5/1Text001.py b/Homework_5/1Text001.py new file mode 100644 index 0000000..56b0a77 --- /dev/null +++ b/Homework_5/1Text001.py @@ -0,0 +1,17 @@ +from itertools import count + +text_creator = open('Text1.txt', 'a') +writer = None +for i in count(1): + if writer == '': + text_creator.write('\n') + break + writer = (input('Введите текст. Нажмите на Enter, чтобы перестать: ')) + text_creator.write(writer) + text_creator.write('\n') +text_creator.close() + + + + + diff --git a/Homework_5/2str_counter.py b/Homework_5/2str_counter.py new file mode 100644 index 0000000..f70d324 --- /dev/null +++ b/Homework_5/2str_counter.py @@ -0,0 +1,22 @@ +#2. Создать текстовый файл (не программно), +# сохранить в нем несколько строк, выполнить подсчет количества строк, количества слов в каждой строке. +from itertools import count + +text_writer = open('Text1.txt', 'w') #Не удержался и создал программно :( +writer = None +for i in count(1): + if writer == '': + text_writer.write('\n') + break + writer = (input('Введите текст. Нажмите на Enter, чтобы перестать: ')) + text_writer.write(writer) + text_writer.write('\n') #Выше: создаем файл и с помощью input добавляем в него символы +print(f'Всего {i - 2} строк') #Выводим количество строк за вычетом двух лишних после Enter +text_writer.close() + +check_chars = open('Text1.txt', 'r') +words = 0 #Создаем переменную, в которой будем держать количество слов +for line in check_chars: + words_maker = line.split() #Делим файл на слова + words = words + len(words_maker) #Считаем количество слов. +print(f'всего' , words , 'слов.') diff --git a/Homework_5/3Prize_20000.py b/Homework_5/3Prize_20000.py new file mode 100644 index 0000000..dc26788 --- /dev/null +++ b/Homework_5/3Prize_20000.py @@ -0,0 +1,29 @@ +#3. Создать текстовый файл (не программно), построчно записать фамилии сотрудников и величину их окладов. +# Определить, кто из сотрудников имеет оклад менее 20 тыс., +# вывести фамилии этих сотрудников. +# Выполнить подсчет средней величины дохода сотрудников. + +workers_data = {} #Создаем словарь, где будут хранится ключи (фамилии) и значения (сумма) +file_opener = open('Workers_data.txt', 'r') +for line in file_opener: + worker = line.split( ) #Создаем список формата ['Имя' , 'Сумма'] + workers_data[worker[0]] = int(worker[1]) #Делаем сумму int и добавляем ключ и значение в словарь workers_data +best_worker = 0 #Переменная для подсчета среднего +counter = 0 #Переменная для количества сотрудников +for key, value in workers_data.items(): + best_worker = best_worker + value #Добавляем в переменную best_worker сумму оклада каждого сотрудника + counter = counter + 1 #После каждого пройденного сотрудника запоминаем его в counter + if value > 20000: #Цикл для вывода на экран работников, чей оклад больше 20 000 рублей + print(key) +print(best_worker / counter) #Выводим среднее значение зп всех сотрудников + + + + + + +# for i in workers_base: + +# workers_data = dict.fromkeys(workers_base,workers_base[1]) +# print(workers_data) +#print(workers_base) \ No newline at end of file diff --git a/Homework_5/4Nums_to_rus.py b/Homework_5/4Nums_to_rus.py new file mode 100644 index 0000000..28c79ba --- /dev/null +++ b/Homework_5/4Nums_to_rus.py @@ -0,0 +1,19 @@ +#4. Создать (не программно) текстовый файл со следующим содержимым: +#One — 1 +#Two — 2 +#Three — 3 +#Four — 4 +#Необходимо написать программу, открывающую файл на чтение и считывающую построчно данные. +# При этом английские числительные должны заменяться на русские. +# Новый блок строк должен записываться в новый текстовый файл. +file_opener = open('Nums.txt', 'r') #Открываем исходный файл для чтения. +other_opener = open('Second_nums.txt', 'w') #Параллельно второй - для записи. +new_file_rus = ['Один' , 'Два' , 'Три' , 'Четыре'] #Создаем список с русскими цифрами. +workers_data = {} #Словарь. Ключ - англ. слово, значение - цифра +for line in file_opener: + worker = line.split('-') #Создаем список, не добавляя туда знак '-' + workers_data[worker[0]] = int(worker[1]) #Делаем из второго элемента списка - число и добавляем в словарь пару ключ-значение +for i in workers_data.values(): + other_opener.writelines(f'{new_file_rus[i-1]} - {i} \n') #Записываем в новый файл элемент из списка русских слов и значение списка. +file_opener.close() +other_opener.close() \ No newline at end of file diff --git a/Homework_5/5numbers counter.py b/Homework_5/5numbers counter.py new file mode 100644 index 0000000..c7135ae --- /dev/null +++ b/Homework_5/5numbers counter.py @@ -0,0 +1,17 @@ +#5. Создать (программно) текстовый файл, записать в него программно набор чисел, разделенных пробелами. +# Программа должна подсчитывать сумму чисел в файле и выводить ее на экран. +from itertools import count + +with open('Numbers_counter.txt', 'w') as numbers_counter: + numbers_counter.write('12 34 52 62 62 52') #Создаем файл и вводим в него числа через пробел. +numbers_counter.close() +numbers_counter = open('Numbers_counter.txt', 'r') +sum_of_i = 0 #Переменная для хранения суммы чисел. +for i in numbers_counter: + spliter = i.split( ) #создаем список из чисел в файле +for number in spliter: + number = int(number) #Превращаем каждый элемент списка в целое число + sum_of_i = sum_of_i + number +print(sum_of_i) #Складываем числа списка и выводим на экран. +numbers_counter.close() + diff --git a/Homework_5/Numbers_counter.txt b/Homework_5/Numbers_counter.txt new file mode 100644 index 0000000..676252a --- /dev/null +++ b/Homework_5/Numbers_counter.txt @@ -0,0 +1 @@ +12 34 52 62 62 52 \ No newline at end of file diff --git a/Homework_5/Nums.txt b/Homework_5/Nums.txt new file mode 100644 index 0000000..48de98b --- /dev/null +++ b/Homework_5/Nums.txt @@ -0,0 +1,4 @@ +One - 1 +Two - 2 +Three - 3 +Four - 4 \ No newline at end of file diff --git a/Homework_5/Text1.txt b/Homework_5/Text1.txt new file mode 100644 index 0000000..6999bc7 --- /dev/null +++ b/Homework_5/Text1.txt @@ -0,0 +1,4 @@ +Михайлов 20000 +Сидоров 25000 +Петров 60000 +Кравцов 54200 \ No newline at end of file diff --git a/Homework_5/Workers_data.txt b/Homework_5/Workers_data.txt new file mode 100644 index 0000000..808e38e --- /dev/null +++ b/Homework_5/Workers_data.txt @@ -0,0 +1,5 @@ +Аврелиан 20000 +Коракс 35000 +Ангрон 60000 +Дорн 80000 +Пертурабо 10000 \ No newline at end of file