From 4d9a1dd9b962e0662ad49863ae200f84c64b07a7 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Tue, 4 Sep 2018 00:55:56 +0300 Subject: [PATCH 01/21] Update hw01_easy.py --- lesson01/home_work/hw01_easy.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/lesson01/home_work/hw01_easy.py b/lesson01/home_work/hw01_easy.py index f927b0b06..654fdc433 100644 --- a/lesson01/home_work/hw01_easy.py +++ b/lesson01/home_work/hw01_easy.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Резник А.В.' # Задача-1: Дано произвольное целое число (число заранее неизвестно). # Вывести поочередно цифры исходного числа (порядок вывода цифр неважен). @@ -7,7 +7,11 @@ # * постарайтесь решить задачу с применением арифметики и цикла while; # * при желании решите задачу с применением цикла for. -# код пишем тут... +a = int(input()) +while a > 0: + print(a % 10) + a //= 10 + # Задача-2: Исходные значения двух переменных запросить у пользователя. @@ -18,7 +22,20 @@ # Не нужно решать задачу так: # print("a = ", b, "b = ", a) - это неправильное решение! +a1 = int(input("введите число А:")) +b1 = int(input("введите число Б:")) +ab = a1 +a1 = b1 +b1 = ab +print('Число А стало:', a1) +print('Число Б стало:', b1) # Задача-3: Запросите у пользователя его возраст. # Если ему есть 18 лет, выведите: "Доступ разрешен", # иначе "Извините, пользование данным ресурсом только с 18 лет" + +age = int(input('Для доступа введите Ваш возраст:')) +if age > 17: + print('Доступ разрешен') +else: + print('Извините, пользование данным ресурсом только с 18 лет') From cf1e782f2dada627af99bc17e5ae8dce60042177 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Tue, 4 Sep 2018 10:53:17 +0300 Subject: [PATCH 02/21] Update hw01_easy.py --- lesson01/home_work/hw01_easy.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lesson01/home_work/hw01_easy.py b/lesson01/home_work/hw01_easy.py index 654fdc433..98e04c29d 100644 --- a/lesson01/home_work/hw01_easy.py +++ b/lesson01/home_work/hw01_easy.py @@ -11,8 +11,8 @@ while a > 0: print(a % 10) a //= 10 - - +#for b in str(a): +# print(b) # Задача-2: Исходные значения двух переменных запросить у пользователя. # Поменять значения переменных местами. Вывести новые значения на экран. From 34465adaf535fa34dfb0200a26c86e4b36fd344e Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 6 Sep 2018 13:07:30 +0300 Subject: [PATCH 03/21] Update hw01_normal.py --- lesson01/home_work/hw01_normal.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index 991724e9a..ea24726b8 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -10,6 +10,10 @@ # * постарайтесь решить задачу с применением арифметики и цикла while; # * при желании и понимании решите задачу с применением цикла for. +x = 56783429 +b = map(int, str(x)) +b.sort() +print(b[-1]) # Задача-2: Исходные значения двух переменных запросить у пользователя. # Поменять значения переменных местами. Вывести новые значения на экран. From 85735ee2f9a3278c045b33fdf345552889739705 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 6 Sep 2018 13:12:32 +0300 Subject: [PATCH 04/21] Update hw01_normal.py --- lesson01/home_work/hw01_normal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index ea24726b8..acf8ff6c7 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -10,7 +10,7 @@ # * постарайтесь решить задачу с применением арифметики и цикла while; # * при желании и понимании решите задачу с применением цикла for. -x = 56783429 +x = int(input()) b = map(int, str(x)) b.sort() print(b[-1]) From 165f7afd8037f33b9b77d611b709ff7ee75cceb4 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 6 Sep 2018 13:24:15 +0300 Subject: [PATCH 05/21] Update hw01_normal.py --- lesson01/home_work/hw01_normal.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index acf8ff6c7..53c181d77 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -21,7 +21,11 @@ # Подсказки: # * постарайтесь сделать решение через действия над числами; # * при желании и понимании воспользуйтесь синтаксисом кортежей Python. - +ax = int(input('input a plz:')) +bx = int(input('input b plz:')) +print('Bilo:', 'A -',ax,'B -', bx) +ax, bx = bx, ax +print('Stalo:', 'A -',ax,'B -', bx) # Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида # ax² + bx + c = 0. From ae5a72049397c4d24ffe215d5392b9b85fb19b0e Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 6 Sep 2018 14:53:50 +0300 Subject: [PATCH 06/21] Update hw01_normal.py --- lesson01/home_work/hw01_normal.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index 53c181d77..cc4c66d5c 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -33,3 +33,18 @@ # Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math: # import math # math.sqrt(4) - вычисляет корень числа 4 +import math +az = int(input('Vvedite koef A')) +bz = int(input('Vvedite koef B')) +cz = int(input('Vvedite koef C')) +D = bz**2 - 4*az*cz +print('Discriminant', D) +if D > 0: + xz = (-bz + math.sqrt(D))/ 2*az + xy = (-bz - math.sqrt(D))/ 2*az + print('', xz, 'i', xy) +elif D == 0: + xz = -(bz/2*az) + print('', xz) +else: + print('korney net') From d2cae795ccc715b7eef46055b5b180cbf0181dda Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 6 Sep 2018 14:55:20 +0300 Subject: [PATCH 07/21] Update hw01_normal.py --- lesson01/home_work/hw01_normal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index cc4c66d5c..2c099c78e 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Резник А.В.' # Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа. # Например, дается x = 58375. From 3dd96e130a463f73d2325778ac01803a25e1edd0 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Mon, 10 Sep 2018 11:25:38 +0300 Subject: [PATCH 08/21] Update hw02_easy.py --- lesson02/home_work/hw02_easy.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lesson02/home_work/hw02_easy.py b/lesson02/home_work/hw02_easy.py index ed4447e50..41efc8454 100644 --- a/lesson02/home_work/hw02_easy.py +++ b/lesson02/home_work/hw02_easy.py @@ -13,6 +13,15 @@ # Подсказка: воспользоваться методом .format() +fruits = ["apple", "Banana", "kiwi", "arbuz"] +a = 0 +b = len(fruits) +while a < b: + a1 = a + 1 + print(a1, '{:>10}'.format(fruits[a])) + a += 1 + + # Задача-2: # Даны два произвольные списка. From 7489cfad5fdc1e91ab8d7c1661945311a8d72b33 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Mon, 10 Sep 2018 13:39:33 +0300 Subject: [PATCH 09/21] Update hw02_easy.py --- lesson02/home_work/hw02_easy.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lesson02/home_work/hw02_easy.py b/lesson02/home_work/hw02_easy.py index 41efc8454..7f9bf2f8d 100644 --- a/lesson02/home_work/hw02_easy.py +++ b/lesson02/home_work/hw02_easy.py @@ -27,6 +27,12 @@ # Даны два произвольные списка. # Удалите из первого списка элементы, присутствующие во втором списке. +a = [1,2,3,4,5,6,7,8,9] +b = [2,3,4,10] +try: b1 = map(a.remove, b) +except ValueError: + pass +print(a) # Задача-3: # Дан произвольный список из целых чисел. From 65160b1b9fba52a77a49966ff77c141297d35fdb Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Mon, 10 Sep 2018 15:23:47 +0300 Subject: [PATCH 10/21] Update hw02_easy.py --- lesson02/home_work/hw02_easy.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lesson02/home_work/hw02_easy.py b/lesson02/home_work/hw02_easy.py index 7f9bf2f8d..45387ac90 100644 --- a/lesson02/home_work/hw02_easy.py +++ b/lesson02/home_work/hw02_easy.py @@ -38,3 +38,14 @@ # Дан произвольный список из целых чисел. # Получите НОВЫЙ список из элементов исходного, выполнив следующие условия: # если элемент кратен двум, то разделить его на 4, если не кратен, то умножить на два. + +a = [1,2,3,4,5,6,8,7] +a1 = [] +for i in a: + if i%2 == 0: + i = i/4 + a1.append(i) + else: + i= i*2 + a1.append(i) +print(a1) From 3b4b48d271870b411eedb997c9e1b934f0497f86 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Wed, 12 Sep 2018 14:34:19 +0300 Subject: [PATCH 11/21] Update hw02_normal.py --- lesson02/home_work/hw02_normal.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lesson02/home_work/hw02_normal.py b/lesson02/home_work/hw02_normal.py index 3acfaabb6..5ba53bed0 100644 --- a/lesson02/home_work/hw02_normal.py +++ b/lesson02/home_work/hw02_normal.py @@ -16,6 +16,17 @@ # Подсказка: # для получения случайного числа используйте функцию randint() модуля random +import random + +how_much = int(input()) +start = 0 +middle = 0 +list_result = [] +while start < how_much: + middle = random.randint(-100,100) + list_result.append(middle) + start += 1 +print(list_result) # Задача-4: Дан список, заполненный произвольными целыми числами. # Получите новый список, элементами которого будут: From f72acda7cc3c7cb29f3c0fcb175b3054e01ed594 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 13 Sep 2018 13:09:26 +0300 Subject: [PATCH 12/21] Update hw03_easy.py --- lesson03/home_work/hw03_easy.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/lesson03/home_work/hw03_easy.py b/lesson03/home_work/hw03_easy.py index 63d13f646..53ea95bf2 100644 --- a/lesson03/home_work/hw03_easy.py +++ b/lesson03/home_work/hw03_easy.py @@ -5,7 +5,17 @@ # Для решения задачи не используйте встроенные функции и функции из модуля math. def my_round(number, ndigits): - pass + number_temp1 = number*(10**ndigits) + number_temp_ostatok = number_temp1 % 1 + #print(number_temp_ostatok) + if number_temp_ostatok > 0.4: + number_add = 1 - number_temp_ostatok + round_number = number + (number_add/(10**ndigits)) + else: + number_add = number_temp_ostatok - 1 + round_number = number - (number_add/(10**ndigits)) + #print(round_number) + return round_number print(my_round(2.1234567, 5)) @@ -20,7 +30,20 @@ def my_round(number, ndigits): # !!!P.S.: функция не должна НИЧЕГО print'ить def lucky_ticket(ticket_number): - pass + ticket_number_map = list(map(int, str(ticket_number))) + try: + ticket_part_1 = ticket_number_map[0] + ticket_number_map[1] + ticket_number_map[2] + except IndexError: + pass + try: + ticket_part_2 = ticket_number_map[3]+ ticket_number_map[4]+ticket_number_map[5] + except IndexError: + pass + try: + result = ticket_part_1 == ticket_part_2 + return (result) + except: + pass print(lucky_ticket(123006)) From fcd046cc859b703fbeb8a8e876b54b8207a50319 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 13 Sep 2018 15:44:59 +0300 Subject: [PATCH 13/21] Update hw03_normal.py --- lesson03/home_work/hw03_normal.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/lesson03/home_work/hw03_normal.py b/lesson03/home_work/hw03_normal.py index 38ac1fcc1..a6b0bae90 100644 --- a/lesson03/home_work/hw03_normal.py +++ b/lesson03/home_work/hw03_normal.py @@ -3,7 +3,12 @@ # Первыми элементами ряда считать цифры 1 1 def fibonacci(n, m): - pass + a = 0 + fibo = [1, 1] + while a< m: + fibo.append(fibo[0+a]+fibo[1+a]) + a+=1 + return fibo[n:m] # Задача-2: # Напишите функцию, сортирующую принимаемый список по возрастанию. @@ -12,7 +17,15 @@ def fibonacci(n, m): def sort_to_max(origin_list): - pass + a = origin_list + for i in range(len(a),0,-1): + for n in range(1,i): + if a[n-1] > a[n]: + an = a[n-1] + a[n-1] = a[n] + a[n] = an + return a + sort_to_max([2, 10, -12, 2.5, 20, -11, 4, 4, 0]) @@ -20,6 +33,14 @@ def sort_to_max(origin_list): # Напишите собственную реализацию стандартной функции filter. # Разумеется, внутри нельзя использовать саму функцию filter. +def myFilter(listed, x): + listed_res = [] + for i in listed: + if i == x: + listed_res.append(i) + else: + pass + return listed_res # Задача-4: # Даны четыре точки А1(х1, у1), А2(x2 ,у2), А3(x3 , у3), А4(х4, у4). From 899e6cbc64ed0c2464e6dd917b4752a1a64a4cf2 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Fri, 14 Sep 2018 15:17:09 +0300 Subject: [PATCH 14/21] Update hw04_easy.py --- lesson04/home_work/hw04_easy.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lesson04/home_work/hw04_easy.py b/lesson04/home_work/hw04_easy.py index 85035ea8b..1ea211a87 100644 --- a/lesson04/home_work/hw04_easy.py +++ b/lesson04/home_work/hw04_easy.py @@ -6,6 +6,11 @@ # квадратами элементов исходного списка # [1, 2, 4, 0] --> [1, 4, 16, 0] +start_list = [1,2,4,0] +result_list = [i**2 for i in start_list] +#print(start_list) +#print(result_list) + # Задание-2: # Даны два списка фруктов. # Получить список фруктов, присутствующих в обоих исходных списках. @@ -16,3 +21,7 @@ # + Элемент кратен 3 # + Элемент положительный # + Элемент не кратен 4 + +start_list = [1,2,3,4,5,6,1,2,3,4, -1] +result_list = [i for i in start_list if i > 0 and i%3 ==0 and i%4 !=0] +#print(result_list) From 1f009ac1165652f4e5ca2234db7b0de28ad42282 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Mon, 17 Sep 2018 10:22:25 +0300 Subject: [PATCH 15/21] Update hw04_easy.py --- lesson04/home_work/hw04_easy.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lesson04/home_work/hw04_easy.py b/lesson04/home_work/hw04_easy.py index 1ea211a87..62ff413af 100644 --- a/lesson04/home_work/hw04_easy.py +++ b/lesson04/home_work/hw04_easy.py @@ -15,6 +15,11 @@ # Даны два списка фруктов. # Получить список фруктов, присутствующих в обоих исходных списках. +first_list = ['orange','apple', 'ananas', 'pears', 'banana'] +second_list = ['orange', 'banana','apple', 'ananas'] +result_list = [i for i in first_list and second_list] +print(result_list) + # Задание-3: # Дан список, заполненный произвольными числами. # Получить список из элементов исходного, удовлетворяющих следующим условиям: From 52a94763ce913892c3272fbe402b2ccff131d597 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Mon, 17 Sep 2018 11:51:47 +0300 Subject: [PATCH 16/21] Update hw04_normal.py --- lesson04/home_work/hw04_normal.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lesson04/home_work/hw04_normal.py b/lesson04/home_work/hw04_normal.py index 739dd33f8..5d0822c32 100644 --- a/lesson04/home_work/hw04_normal.py +++ b/lesson04/home_work/hw04_normal.py @@ -19,7 +19,11 @@ 'qHFjvihuNGEEFsfnMXTfptvIOlhKhyYwxLnqOsBdGvnuyEZIheApQGOXWeXoLWiDQNJFa'\ 'XiUWgsKQrDOeZoNlZNRvHnLgCmysUeKnVJXPFIzvdDyleXylnKBfLCjLHntltignbQoiQ'\ 'zTYwZAiRwycdlHfyHNGmkNqSwXUrxGc' - +import re +split_line = re.split(r'[A-Z]', line) +final_line = list(filter(None, split_line)) +#print(split_line) +print(final_line) # Задание-2: # Вывести символы в верхнем регистре, слева от которых находятся From 9132431bac45d9e4d39f0d7d14f5f0f3465daa4d Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Wed, 19 Sep 2018 08:50:19 +0300 Subject: [PATCH 17/21] Update hw05_easy.py --- lesson05/home_work/hw05_easy.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lesson05/home_work/hw05_easy.py b/lesson05/home_work/hw05_easy.py index c6317de2b..5c1c7d0ab 100644 --- a/lesson05/home_work/hw05_easy.py +++ b/lesson05/home_work/hw05_easy.py @@ -2,9 +2,25 @@ # Напишите скрипт, создающий директории dir_1 - dir_9 в папке, # из которой запущен данный скрипт. # И второй скрипт, удаляющий эти папки. +import os, time, shutil +#print(os.getcwd()) +number = 1 +number_1 = 1 +while number < 10: + os.mkdir('./dir_'+str(number), mode=511, dir_fd=None) + number += 1 +time.sleep(10) +while number_1 <10: + os.removedirs('./dir_'+str(number_1)) + number_1 += 1 # Задача-2: # Напишите скрипт, отображающий папки текущей директории. +print(list(os.listdir('./'))) + # Задача-3: # Напишите скрипт, создающий копию файла, из которого запущен данный скрипт. +shutil.copy(r'./lesson5.py', r'./lesson5_copy.py') +time.sleep(10) +os.remove(r'./lesson5_copy.py') From 054ac616ca9ab7672c933cfc12c973a1e4c591b2 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 20 Sep 2018 16:38:37 +0300 Subject: [PATCH 18/21] Create hw05_easy_func.py --- lesson05/home_work/hw05_easy_func.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lesson05/home_work/hw05_easy_func.py diff --git a/lesson05/home_work/hw05_easy_func.py b/lesson05/home_work/hw05_easy_func.py new file mode 100644 index 000000000..238114e36 --- /dev/null +++ b/lesson05/home_work/hw05_easy_func.py @@ -0,0 +1,10 @@ +import os + +def change_dir(curr_dir): + os.chdir(curr_dir) +def create_folder_func(curr_dir, number): + os.mkdir(str(number), mode=511, dir_fd=None) +def remove_folder_func(curr_dir, number_1): + os.removedirs(str(number_1)) +def look_func(curr_dir): + print(list(os.listdir(curr_dir))) From 360d67a46c5898253ff12cdbf4f4043d17ed06b8 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 20 Sep 2018 16:45:51 +0300 Subject: [PATCH 19/21] Update hw05_normal.py --- lesson05/home_work/hw05_normal.py | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/lesson05/home_work/hw05_normal.py b/lesson05/home_work/hw05_normal.py index ead6bbc19..18656def9 100644 --- a/lesson05/home_work/hw05_normal.py +++ b/lesson05/home_work/hw05_normal.py @@ -13,3 +13,42 @@ # Для решения данной задачи используйте алгоритмы из задания easy, # оформленные в виде соответствующих функций, # и импортированные в данный файл из easy.py + +# немного не успел доделать +import hw05_easy_func, os +curr_dir= os.getcwd() +curr_dir1= curr_dir +print('Вы сейчас находитесь в директории:', curr_dir) +def start_func(curr_dir): + print('1) Перейти в папку, 2) Посмотреть сождержимое текущей папки, 3) Удалить папку, 4) Создать папку, 5) Вернуться в домашнюю директорию, 6) Выход') + inputed = int(input('')) + #print(inputed) + if inputed == 1: + print(hw05_easy_func.look_func(curr_dir)) + curr_dir = hw05_easy_func.change_dir(input()) + print(curr_dir) + return curr_dir, start_func(curr_dir) + elif inputed == 2: + look = hw05_easy_func.look_func(curr_dir) + #print(look) + start_func(curr_dir) + elif inputed == 3: + print('Введите имя папки которую необходимо удалить') + folder_name = input('') + delete = hw05_easy_func.remove_folder_func(curr_dir, folder_name) + start_func(curr_dir) + elif inputed == 4: + print('Введите имя папки которую необходимо создать') + folder_name = input('') + create = hw05_easy_func.create_folder_func(curr_dir, folder_name) + start_func(curr_dir) + elif inputed == 5: + curr_dir = curr_dir1 + start_func(curr_dir) + elif inputed == 6: + pass + else: + print('Введено некорректное число') + start_func(curr_dir) + +start_func(curr_dir) From a90369b7ac85b42432ce9125388ffb38149247be Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Mon, 24 Sep 2018 00:15:26 +0300 Subject: [PATCH 20/21] Update hw06_easy.py --- lesson06/home_work/hw06_easy.py | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/lesson06/home_work/hw06_easy.py b/lesson06/home_work/hw06_easy.py index fe5dc2b11..a473ab072 100644 --- a/lesson06/home_work/hw06_easy.py +++ b/lesson06/home_work/hw06_easy.py @@ -1,9 +1,58 @@ + # Задача-1: Написать класс для фигуры-треугольника, заданного координатами трех точек. # Определить методы, позволяющие вычислить: площадь, высоту и периметр фигуры. +import math + +class Triangle: + + def __init__(self, point_a_x, point_a_y, point_b_x, point_b_y, point_c_x, point_c_y): + self.point_a_x = point_a_x + self.point_b_x = point_b_x + self.point_c_x = point_c_x + self.point_a_y = point_a_y + self.point_b_y = point_b_y + self.point_c_y = point_c_y + + def ploshad(self): + self.ploshad= ((self.point_a_x - self.point_c_x)*(self.point_b_y - self.point_c_y) - (self.point_b_x - self.point_c_x)*(self.point_a_y - self.point_c_y))/2 + return abs(self.ploshad) + def perim(self): + a = math.sqrt((self.point_b_x - self.point_a_x) ** 2 + (self.point_b_y - self.point_a_y) ** 2) + b = math.sqrt((self.point_c_x - self.point_a_x) ** 2 + (self.point_c_y - self.point_a_y) ** 2) + c = math.sqrt((self.point_c_x - self.point_b_x) ** 2 + (self.point_c_y - self.point_b_y) ** 2) + self.perim_1 = a + b +c + return self.perim_1 + def height(self): + pass + +ttriangle = Triangle(1,5,5,7,5,2) +print('s =',ttriangle.ploshad()) +print('p =',ttriangle.perim()) # Задача-2: Написать Класс "Равнобочная трапеция", заданной координатами 4-х точек. # Предусмотреть в классе методы: # проверка, является ли фигура равнобочной трапецией; # вычисления: длины сторон, периметр, площадь. +class Trapeze: + def __init__(self, point_a, point_b, point_c, point_d): + self.point_a = point_a + self.point_b = point_b + self.point_c = point_c + self.point_d = point_d + def ploshad(self): + a = math.sqrt((self.point_b[0] - self.point_a[0]) ** 2 + (self.point_b[1] - self.point_a[1]) ** 2) + b = math.sqrt((self.point_b[0] - self.point_c[0]) ** 2 + (self.point_b[1] - self.point_c[1]) ** 2) + c = math.sqrt((self.point_c[0] - self.point_d[0]) ** 2 + (self.point_c[1] - self.point_d[1]) ** 2) + d = math.sqrt((self.point_d[0] - self.point_a[0]) ** 2 + (self.point_d[1] - self.point_d[1]) ** 2) + h = math.sqrt(c**2 -((a-b)**2)/4) + bd = (b+d)/2 + s = ((a+b)/2)*h + return "p = " + str(a+d+b+c), "s = " + str(s), 'a to b =' + str(a), 'b to c =' + str(b), 'c to d =' + str(c),'d to a =' + str(d) + +ttrapeze = Trapeze((1,3), (3,5), (6,5), (8,3)) +print(ttrapeze.ploshad()) + + + From cdab66b4189f04506a00f108ede696e6c65bfee2 Mon Sep 17 00:00:00 2001 From: Ammatar <42938122+Ammatar@users.noreply.github.com> Date: Thu, 27 Sep 2018 15:20:34 +0300 Subject: [PATCH 21/21] Update hw06_normal.py --- lesson06/home_work/hw06_normal.py | 81 +++++++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/lesson06/home_work/hw06_normal.py b/lesson06/home_work/hw06_normal.py index 01c3982f4..1638b9ac1 100644 --- a/lesson06/home_work/hw06_normal.py +++ b/lesson06/home_work/hw06_normal.py @@ -2,8 +2,8 @@ # Реализуйте описаную ниже задачу, используя парадигмы ООП: # В школе есть Классы(5А, 7Б и т.д.), в которых учатся Ученики. # У каждого ученика есть два Родителя(мама и папа). -# Также в школе преподают Учителя. Один учитель может преподавать -# в неограниченном кол-ве классов свой определенный предмет. +# Также в школе преподают Учителя. Один учитель может преподавать +# в неограниченном кол-ве классов свой определенный предмет. # Т.е. Учитель Иванов может преподавать математику у 5А и 6Б, # но больше математику не может преподавать никто другой. @@ -11,7 +11,82 @@ # 1. Получить полный список всех классов школы # 2. Получить список всех учеников в указанном классе # (каждый ученик отображается в формате "Фамилия И.О.") -# 3. Получить список всех предметов указанного ученика +# 3. Получить список всех предметов указанного ученика # (Ученик --> Класс --> Учителя --> Предметы) # 4. Узнать ФИО родителей указанного ученика # 5. Получить список всех Учителей, преподающих в указанном классе + +class Man: + def __init__(self, surname, givenname): + self.surname = surname + self.givenname = givenname + + def __repr__(self): + return '{} {}.'.format(self.surname, self.givenname[0]) + +class Class: + def __init__(self, name): + self.name = name + + def __repr__(self): + return 'Класс: {}'.format(self.name) + def add_student(self, student): + self.add_students.add(student) + +class Student(Man): + def __init__(self, mother, father, *args): + super(Student, self).__init__(*args) + self.mother = mother + self.father = father + +class Parent(Man): + def __init__(self, *args): + super(Parent, self).__init__(*args) + + +class Teacher(Man): + def __init__(self, classes, lesson, *args): + super(Teacher, self).__init__(*args) + self.classes = classes + self.lesson = lesson + + def add_teacher(self, teacher): + self.add_teacher.add(teacher) + + def add_teacher_lesson(self, lesson): + self.add_teacher_lesson(lesson) + +class School: + def __init__(self): + self.lessons = [] + self.classes = [] + self.students = [] + self.teachers = [] + + def add_student(self, student): + self.students.append(student) + + def add_class(self, clazz): + self.classes.append(clazz) + + def add_teacher(self, teacher): + self.teachers.append(teacher) + + def add_teacher_lesson(self, lesson): + self.lessons.append(lesson) + + def __repr__(self): + return 'Школа, Классы: {}; Уроки:{}, Учителя:{}, Ученики: {}'.format(self.classes, self.lessons, self.teachers, self.students) + + +student = Student('Петрова', 'Петров', 'Петров', 'Олег') +teacher = Teacher('3Б', 'Математика', 'Суров', 'Иван') +clazz = Class('3а') +parent = Parent('Иванов', 'Иван') +school = School() +school.add_student(student) +school.add_class(clazz) +school.add_teacher(teacher) +school.add_teacher_lesson(teacher.lesson) +print(school) +print(parent)