From edf624329e780fdb1ebef63f788ac1b8e1c4dc10 Mon Sep 17 00:00:00 2001 From: Karadesh Date: Sat, 23 May 2020 21:11:46 +0300 Subject: [PATCH 1/4] Homework_5 dir added --- Homework_4/1_Workers_prize.py | 10 ++++++++++ Homework_4/2_Numbers_list.py | 11 +++++++++++ Homework_4/3_No_regreats_and_repeats.py | 13 +++++++++++++ Homework_4/4. Reduce_100-1000.py | 8 ++++++++ Homework_4/5Numbers+1.py | 15 +++++++++++++++ Homework_4/6Cycle_end.py | 14 ++++++++++++++ 6 files changed, 71 insertions(+) create mode 100644 Homework_4/1_Workers_prize.py create mode 100644 Homework_4/2_Numbers_list.py create mode 100644 Homework_4/3_No_regreats_and_repeats.py create mode 100644 Homework_4/4. Reduce_100-1000.py create mode 100644 Homework_4/5Numbers+1.py create mode 100644 Homework_4/6Cycle_end.py diff --git a/Homework_4/1_Workers_prize.py b/Homework_4/1_Workers_prize.py new file mode 100644 index 0000000..8db39d8 --- /dev/null +++ b/Homework_4/1_Workers_prize.py @@ -0,0 +1,10 @@ +from sys import argv + +script_name, money, hours, prize = argv + +money = int(money) +hours = int(hours) +prize = int(prize) +workers_prize = money * hours + prize + +print(f'Зарплата работника равна: {workers_prize} золотых монет.') \ No newline at end of file diff --git a/Homework_4/2_Numbers_list.py b/Homework_4/2_Numbers_list.py new file mode 100644 index 0000000..6e1f3b3 --- /dev/null +++ b/Homework_4/2_Numbers_list.py @@ -0,0 +1,11 @@ +import random +my_list = [random.randrange(100) for i in range(10)] +print(my_list) + +second_list =[my_list[i+1] for i in range(len(my_list) - 1) if my_list[i+1] > my_list[i]] + +print(second_list) + + +third_list = [el_1 for el_1 in range(20,240) if el_1 %20 == 0 or el_1 %21 ==0] +print(third_list) diff --git a/Homework_4/3_No_regreats_and_repeats.py b/Homework_4/3_No_regreats_and_repeats.py new file mode 100644 index 0000000..a0201fd --- /dev/null +++ b/Homework_4/3_No_regreats_and_repeats.py @@ -0,0 +1,13 @@ +import random +my_list = [random.randrange(100) for i in range(10)] + +print(my_list) +second_list = [el for el in my_list[:] if my_list.count(el) == 1] +print(second_list) +#my_list_2 = [2, 5, 5, 10,10] +#for i in my_list_2.index(): +# print(i) +#print(mylist_2) + + +#print(second_list) diff --git a/Homework_4/4. Reduce_100-1000.py b/Homework_4/4. Reduce_100-1000.py new file mode 100644 index 0000000..ea00185 --- /dev/null +++ b/Homework_4/4. Reduce_100-1000.py @@ -0,0 +1,8 @@ +from functools import reduce + +elements_of_thousand = [el for el in range(100,1000) if el %2 == 0] +even_numbers = reduce(lambda x , y : x * y, elements_of_thousand) +print(even_numbers) +#print(elements_of_thousand) + +#print(division_of_thousands) \ No newline at end of file diff --git a/Homework_4/5Numbers+1.py b/Homework_4/5Numbers+1.py new file mode 100644 index 0000000..e1a3be9 --- /dev/null +++ b/Homework_4/5Numbers+1.py @@ -0,0 +1,15 @@ +#1. + +from itertools import count,cycle + +for i in count(int(input('Введите начальное число: '))): + print(i) + +#2. + +repeat_this_list = [2 , 3 , 5 , 10 , 25 , 156 , 15 , 35 , 2 , 10] + +end_of_repeat = '' +iter = cycle(my_list) +while end_of_repeat != 'q': + print(next) \ No newline at end of file diff --git a/Homework_4/6Cycle_end.py b/Homework_4/6Cycle_end.py new file mode 100644 index 0000000..b3bead1 --- /dev/null +++ b/Homework_4/6Cycle_end.py @@ -0,0 +1,14 @@ +from itertools import count +from math import factorial + +def cycle_gen(): + for el in count(1): + yield factorial(el) + + +numbers = 0 +for i in cycle_gen(): + print('Factorial from {} is {}'.format(numbers + 1 , i)) + if numbers == 14: + break + numbers = numbers + 1 \ No newline at end of file From 452b73fca65b7b15c15c3b020db9e5c8b41e535c Mon Sep 17 00:00:00 2001 From: Karadesh Date: Sat, 23 May 2020 21:13:51 +0300 Subject: [PATCH 2/4] Revert "Homework_5 dir added" This reverts commit edf624329e780fdb1ebef63f788ac1b8e1c4dc10. --- Homework_4/1_Workers_prize.py | 10 ---------- Homework_4/2_Numbers_list.py | 11 ----------- Homework_4/3_No_regreats_and_repeats.py | 13 ------------- Homework_4/4. Reduce_100-1000.py | 8 -------- Homework_4/5Numbers+1.py | 15 --------------- Homework_4/6Cycle_end.py | 14 -------------- 6 files changed, 71 deletions(-) delete mode 100644 Homework_4/1_Workers_prize.py delete mode 100644 Homework_4/2_Numbers_list.py delete mode 100644 Homework_4/3_No_regreats_and_repeats.py delete mode 100644 Homework_4/4. Reduce_100-1000.py delete mode 100644 Homework_4/5Numbers+1.py delete mode 100644 Homework_4/6Cycle_end.py diff --git a/Homework_4/1_Workers_prize.py b/Homework_4/1_Workers_prize.py deleted file mode 100644 index 8db39d8..0000000 --- a/Homework_4/1_Workers_prize.py +++ /dev/null @@ -1,10 +0,0 @@ -from sys import argv - -script_name, money, hours, prize = argv - -money = int(money) -hours = int(hours) -prize = int(prize) -workers_prize = money * hours + prize - -print(f'Зарплата работника равна: {workers_prize} золотых монет.') \ No newline at end of file diff --git a/Homework_4/2_Numbers_list.py b/Homework_4/2_Numbers_list.py deleted file mode 100644 index 6e1f3b3..0000000 --- a/Homework_4/2_Numbers_list.py +++ /dev/null @@ -1,11 +0,0 @@ -import random -my_list = [random.randrange(100) for i in range(10)] -print(my_list) - -second_list =[my_list[i+1] for i in range(len(my_list) - 1) if my_list[i+1] > my_list[i]] - -print(second_list) - - -third_list = [el_1 for el_1 in range(20,240) if el_1 %20 == 0 or el_1 %21 ==0] -print(third_list) diff --git a/Homework_4/3_No_regreats_and_repeats.py b/Homework_4/3_No_regreats_and_repeats.py deleted file mode 100644 index a0201fd..0000000 --- a/Homework_4/3_No_regreats_and_repeats.py +++ /dev/null @@ -1,13 +0,0 @@ -import random -my_list = [random.randrange(100) for i in range(10)] - -print(my_list) -second_list = [el for el in my_list[:] if my_list.count(el) == 1] -print(second_list) -#my_list_2 = [2, 5, 5, 10,10] -#for i in my_list_2.index(): -# print(i) -#print(mylist_2) - - -#print(second_list) diff --git a/Homework_4/4. Reduce_100-1000.py b/Homework_4/4. Reduce_100-1000.py deleted file mode 100644 index ea00185..0000000 --- a/Homework_4/4. Reduce_100-1000.py +++ /dev/null @@ -1,8 +0,0 @@ -from functools import reduce - -elements_of_thousand = [el for el in range(100,1000) if el %2 == 0] -even_numbers = reduce(lambda x , y : x * y, elements_of_thousand) -print(even_numbers) -#print(elements_of_thousand) - -#print(division_of_thousands) \ No newline at end of file diff --git a/Homework_4/5Numbers+1.py b/Homework_4/5Numbers+1.py deleted file mode 100644 index e1a3be9..0000000 --- a/Homework_4/5Numbers+1.py +++ /dev/null @@ -1,15 +0,0 @@ -#1. - -from itertools import count,cycle - -for i in count(int(input('Введите начальное число: '))): - print(i) - -#2. - -repeat_this_list = [2 , 3 , 5 , 10 , 25 , 156 , 15 , 35 , 2 , 10] - -end_of_repeat = '' -iter = cycle(my_list) -while end_of_repeat != 'q': - print(next) \ No newline at end of file diff --git a/Homework_4/6Cycle_end.py b/Homework_4/6Cycle_end.py deleted file mode 100644 index b3bead1..0000000 --- a/Homework_4/6Cycle_end.py +++ /dev/null @@ -1,14 +0,0 @@ -from itertools import count -from math import factorial - -def cycle_gen(): - for el in count(1): - yield factorial(el) - - -numbers = 0 -for i in cycle_gen(): - print('Factorial from {} is {}'.format(numbers + 1 , i)) - if numbers == 14: - break - numbers = numbers + 1 \ No newline at end of file From 0abd8b686a51bd2a0429d68a5f89bb229ac8e6ee Mon Sep 17 00:00:00 2001 From: Karadesh Date: Sat, 23 May 2020 22:33:13 +0300 Subject: [PATCH 3/4] 1 and 2nd added to Homework_5 --- Homework_5/Text001.py | 16 ++++++++++++++++ Homework_5/str_counter.py | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 Homework_5/Text001.py create mode 100644 Homework_5/str_counter.py diff --git a/Homework_5/Text001.py b/Homework_5/Text001.py new file mode 100644 index 0000000..010b47e --- /dev/null +++ b/Homework_5/Text001.py @@ -0,0 +1,16 @@ +from itertools import count + +text_creator = open('Text1.txt', 'a') +writer = None +for i in count(1): + if writer == '': + break + writer = (input('Введите текст. Нажмите на Enter, чтобы перестать: ')) + text_creator.write(writer) + text_creator.write('\n') +text_creator.close() + + + + + diff --git a/Homework_5/str_counter.py b/Homework_5/str_counter.py new file mode 100644 index 0000000..3fd4671 --- /dev/null +++ b/Homework_5/str_counter.py @@ -0,0 +1,20 @@ +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') +print(f'Всего {i - 2} строк') +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 , 'слов.') From 2fa563cb2143b5f62ce7e395dc7fadce67597347 Mon Sep 17 00:00:00 2001 From: Karadesh Date: Mon, 25 May 2020 14:01:07 +0300 Subject: [PATCH 4/4] Homework_5 from 1 to 5 added --- Homework_5/{Text001.py => 1Text001.py} | 1 + Homework_5/2str_counter.py | 22 +++++++++++++++++++ Homework_5/3Prize_20000.py | 29 ++++++++++++++++++++++++++ Homework_5/4Nums_to_rus.py | 19 +++++++++++++++++ Homework_5/5numbers counter.py | 17 +++++++++++++++ Homework_5/Numbers_counter.txt | 1 + Homework_5/Nums.txt | 4 ++++ Homework_5/Text1.txt | 4 ++++ Homework_5/Workers_data.txt | 5 +++++ Homework_5/str_counter.py | 20 ------------------ 10 files changed, 102 insertions(+), 20 deletions(-) rename Homework_5/{Text001.py => 1Text001.py} (90%) create mode 100644 Homework_5/2str_counter.py create mode 100644 Homework_5/3Prize_20000.py create mode 100644 Homework_5/4Nums_to_rus.py create mode 100644 Homework_5/5numbers counter.py create mode 100644 Homework_5/Numbers_counter.txt create mode 100644 Homework_5/Nums.txt create mode 100644 Homework_5/Text1.txt create mode 100644 Homework_5/Workers_data.txt delete mode 100644 Homework_5/str_counter.py diff --git a/Homework_5/Text001.py b/Homework_5/1Text001.py similarity index 90% rename from Homework_5/Text001.py rename to Homework_5/1Text001.py index 010b47e..56b0a77 100644 --- a/Homework_5/Text001.py +++ b/Homework_5/1Text001.py @@ -4,6 +4,7 @@ writer = None for i in count(1): if writer == '': + text_creator.write('\n') break writer = (input('Введите текст. Нажмите на Enter, чтобы перестать: ')) text_creator.write(writer) 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 diff --git a/Homework_5/str_counter.py b/Homework_5/str_counter.py deleted file mode 100644 index 3fd4671..0000000 --- a/Homework_5/str_counter.py +++ /dev/null @@ -1,20 +0,0 @@ -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') -print(f'Всего {i - 2} строк') -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 , 'слов.')