From 5e4a8417a4810d1d3efb440eef6a781e5304bd24 Mon Sep 17 00:00:00 2001 From: inf0rcer Date: Tue, 24 Sep 2019 19:10:57 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20easy=20=D0=B8=20normal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson01/home_work/hw01_easy.py | 20 +++++++++++++++++- lesson01/home_work/hw01_normal.py | 34 ++++++++++++++++++++++++++++++- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/lesson01/home_work/hw01_easy.py b/lesson01/home_work/hw01_easy.py index f927b0b06..4b043a145 100644 --- a/lesson01/home_work/hw01_easy.py +++ b/lesson01/home_work/hw01_easy.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Горяев Никита Андреевич' # Задача-1: Дано произвольное целое число (число заранее неизвестно). # Вывести поочередно цифры исходного числа (порядок вывода цифр неважен). @@ -9,6 +9,11 @@ # код пишем тут... +number_units = input('Введите число ') +i = 0 +while i < len(number_units): + print(number_units[i]) + i += 1 # Задача-2: Исходные значения двух переменных запросить у пользователя. # Поменять значения переменных местами. Вывести новые значения на экран. @@ -18,7 +23,20 @@ # Не нужно решать задачу так: # print("a = ", b, "b = ", a) - это неправильное решение! +unit1 = input("Введите первое число") +unit2 = input("Введите второе число") +fake = unit1 +unit1 = unit2 +unit2 = fake +print(unit1,"теперь равен", unit2) +print(unit2,"теперь равен", unit1) # Задача-3: Запросите у пользователя его возраст. # Если ему есть 18 лет, выведите: "Доступ разрешен", # иначе "Извините, пользование данным ресурсом только с 18 лет" + +age = int(input("Введите ваш возраст")) +if age >= 18: + print("Доступ разрешен") +else: + print("Извините, пользование данным ресурсом только с 18 лет") \ No newline at end of file diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index 991724e9a..c9e08631e 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Горяев Никита Андреевич' # Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа. # Например, дается x = 58375. @@ -10,6 +10,16 @@ # * постарайтесь решить задачу с применением арифметики и цикла while; # * при желании и понимании решите задачу с применением цикла for. +#!/usr/bin/env python3 + +user_number = int(input("Введите число")) +compare_number = -1 +while user_number > 10: + division_number = user_number % 10 + user_number //= 10 + if division_number > compare_number: + compare_number = division_number +print("Наибольшая цифра -",compare_number) # Задача-2: Исходные значения двух переменных запросить у пользователя. # Поменять значения переменных местами. Вывести новые значения на экран. @@ -18,6 +28,11 @@ # * постарайтесь сделать решение через действия над числами; # * при желании и понимании воспользуйтесь синтаксисом кортежей Python. +unit1 = input("Введите первое число") +unit2 = input("Введите второе число") +unit1,unit2 = unit2,unit1 +print("Первое число теперь",unit1) +print("Второе число теперь",unit2) # Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида # ax² + bx + c = 0. @@ -25,3 +40,20 @@ # Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math: # import math # math.sqrt(4) - вычисляет корень числа 4 + +import math +print("Введите значения квадратного уравнения") +a = int(input("a=")) +b = int(input("b=")) +c = int(input("c=")) +d = b*b - 4*a*c +if d < 0: + print("Корней нет") +if d == 0: + x_first = (- b - math.sqrt(d)) / (2 * a) + print("Уравнение имеет один корень равный",x_first) +if d > 0: + x_first = (- b - math.sqrt(d)) / (2 * a) + x_second = (- b + math.sqrt(d)) / (2 * a) + print("Первый корень равен",x_first) + print("Второй корень равен",x_second) From 9b6505017f07307ba9b6d712c49b77bf51731c13 Mon Sep 17 00:00:00 2001 From: inf0rcer Date: Mon, 30 Sep 2019 16:32:59 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=92=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B8=20easy=20=D0=B8?= =?UTF-8?q?=20normal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/home_work/hw02_easy.py | 24 ++++++++++++++-- lesson02/home_work/hw02_normal.py | 47 +++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/lesson02/home_work/hw02_easy.py b/lesson02/home_work/hw02_easy.py index ed4447e50..4a27b9e11 100644 --- a/lesson02/home_work/hw02_easy.py +++ b/lesson02/home_work/hw02_easy.py @@ -1,8 +1,7 @@ # Задача-1: # Дан список фруктов. # Напишите программу, выводящую фрукты в виде нумерованного списка, -# выровненного по правой стороне. - +# # выровненного по правой стороне. # Пример: # Дано: ["яблоко", "банан", "киви", "арбуз"] # Вывод: @@ -13,13 +12,34 @@ # Подсказка: воспользоваться методом .format() +fruit_pack = ['яблоко', 'банан', 'киви', 'арбуз'] +for i in range(0, len(fruit_pack)): + print(str(i + 1) + '.' + '{:>7}'.format(fruit_pack[i])) + + + # Задача-2: # Даны два произвольные списка. # Удалите из первого списка элементы, присутствующие во втором списке. +first_pack = ['1', '2', '3', '4', '5', '6', '7'] +second_pack = ['1', '3', '6'] +for item in second_pack: + if item in first_pack: + first_pack.remove(item) + # Задача-3: # Дан произвольный список из целых чисел. # Получите НОВЫЙ список из элементов исходного, выполнив следующие условия: # если элемент кратен двум, то разделить его на 4, если не кратен, то умножить на два. +full_pack = ['1', '2', '3', '4', '5', '6', '7', '12'] +empty_pack = [] +for i in range(0, len(full_pack)): + check_number = int(full_pack[i]) + if check_number % 2 == 0: + empty_pack.append(check_number/4) + else : + empty_pack.append(check_number*2) +print(empty_pack) diff --git a/lesson02/home_work/hw02_normal.py b/lesson02/home_work/hw02_normal.py index 3acfaabb6..90b646618 100644 --- a/lesson02/home_work/hw02_normal.py +++ b/lesson02/home_work/hw02_normal.py @@ -5,17 +5,57 @@ # если такой корень вообще можно извлечь # Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2] +import math +my_pack = [2, -5, 8, 9, -25, 25, 4, ] +empty_pack = [] +for item in my_pack: + if item > 0 and math.sqrt(item) % 1 == 0: + empty_pack.append(int(math.sqrt(item))) +print(empty_pack) + # Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013. # Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года. # Склонением пренебречь (2000 года, 2010 года) +user_date = input('Введите дату:') +date_check = user_date.split('.') +dic_days = { + '01': 'первое', '02': 'второе', '03': 'третье', '04': 'четвёртое', '05': 'пятое', +'06': 'шестое', '07': 'седьмое', '08': 'восьмое', '09': 'девятое', '10': 'десятое', +'11': 'одиннадцатое', '12': 'двенадцатое', '13': 'тринадцатое', '14': 'четырнадцатое', '15': 'пятнадцатое', +'16': 'шестнадцатое', '17': 'семнадцатое', '18': 'восемнадцатое', '19': 'девятнадцатое', '20': 'двадцатое', +'21': 'двадцать первое', '22': 'двадцать второе', '23': 'двадцать третье', '24': 'двадцать четвёртое', +'25': 'двадцать пятое', '26': 'двадцать шестое', '27': 'двадцать седьмое', '28': 'двадцать восьмое', +'29': 'двадцать девятое', '30': 'тридцатое', '31': 'тридцать первое' +} + +dic_months = { +'01': 'января', '02': 'феврал', '03': 'марта', '04': 'апреля', '05': 'мая', '06': 'июня', +'07': 'июля', '08': 'августа', '09': 'сентября', '10': 'октября', '11': 'ноября', '12': 'декабря', +} + +for key in dic_days: + if date_check[0] == key: + date_check[0] = dic_days[key] + +for key in dic_months: + if date_check[1] == key: + date_check[1] = dic_months[key] + +print(date_check[0] + ' ' + date_check[1] + ' ' + date_check[2] + ' ' "года") # Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами # в диапазоне от -100 до 100. В списке должно быть n - элементов. # Подсказка: # для получения случайного числа используйте функцию randint() модуля random +import random +empty_pack = [] +pack_range = int(input('Введите желаемое количество элементов списка')) +for i in range(pack_range): + empty_pack.append(random.randint(-100, 100)) +print(empty_pack) # Задача-4: Дан список, заполненный произвольными целыми числами. # Получите новый список, элементами которого будут: @@ -23,3 +63,10 @@ # например, lst = [1, 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 2, 4, 5, 6] # б) элементы исходного списка, которые не имеют повторений: # например, lst = [1 , 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 4, 6] + +my_pack = [1, 2, 4, 5, 6, 2, 5, 2] +perfect_pack = [] +for item in my_pack: + if my_pack.count(item) == 1: + perfect_pack.append(item) +print(perfect_pack) \ No newline at end of file From d947089c11815f18598d5bb92edc3992e067d96c Mon Sep 17 00:00:00 2001 From: inf0rcer Date: Sun, 6 Oct 2019 19:33:00 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=9D=D0=B5=20=D1=81=D0=BE=D0=B2=D1=81?= =?UTF-8?q?=D0=B5=D0=BC=20=D1=81=D0=BC=D0=BE=D0=B3=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C=D1=81=D1=8F=20=D1=81=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=203=20=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B8=20normal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson03/home_work/hw03_easy.py | 17 +++++++++---- lesson03/home_work/hw03_normal.py | 42 +++++++++++++++++++++++++++++-- 2 files changed, 52 insertions(+), 7 deletions(-) diff --git a/lesson03/home_work/hw03_easy.py b/lesson03/home_work/hw03_easy.py index 63d13f646..1f22e8ee5 100644 --- a/lesson03/home_work/hw03_easy.py +++ b/lesson03/home_work/hw03_easy.py @@ -5,7 +5,10 @@ # Для решения задачи не используйте встроенные функции и функции из модуля math. def my_round(number, ndigits): - pass + number = number * (10 ** ndigits) + 0.41 + number = number // 1 + return number / (10 ** ndigits) + print(my_round(2.1234567, 5)) @@ -18,11 +21,15 @@ def my_round(number, ndigits): # Решение реализовать в виде функции. # Билет считается счастливым, если сумма его первых и последних цифр равны. # !!!P.S.: функция не должна НИЧЕГО print'ить - def lucky_ticket(ticket_number): - pass - - + ticket_number = str(ticket_number) + x = list(map(int, ticket_number)) + if sum(x[:len(x)//2])==sum(x[len(x)//2:]): + res = ('lucky') + else: + res = ('unlucky') + return res print(lucky_ticket(123006)) print(lucky_ticket(12321)) print(lucky_ticket(436751)) + diff --git a/lesson03/home_work/hw03_normal.py b/lesson03/home_work/hw03_normal.py index 38ac1fcc1..31239f1d8 100644 --- a/lesson03/home_work/hw03_normal.py +++ b/lesson03/home_work/hw03_normal.py @@ -3,8 +3,17 @@ # Первыми элементами ряда считать цифры 1 1 def fibonacci(n, m): + fibb1 = fibb2 = 1 + fibb_par = [] + fibb_par.append(fibb1) + for fibb in range(2, m): + fibb1, fibb2 = fibb2, fibb1 + fibb2 + if fibb >= n: + fibb_par.append(fibb1) + fibb_par.append(fibb2) + print(fibb_par) pass - +fibonacci(1, 10) # Задача-2: # Напишите функцию, сортирующую принимаемый список по возрастанию. # Для сортировки используйте любой алгоритм (например пузырьковый). @@ -12,16 +21,45 @@ def fibonacci(n, m): def sort_to_max(origin_list): - pass + rep = 1 + while rep < len(origin_list): + for i in range(len(origin_list)-rep): + if origin_list[i] > origin_list[i+1]: + origin_list[i],origin_list[i+1] = origin_list[i+1],origin_list[i] + rep = rep + 1 + print(origin_list) + + return origin_list sort_to_max([2, 10, -12, 2.5, 20, -11, 4, 4, 0]) # Задача-3: # Напишите собственную реализацию стандартной функции filter. # Разумеется, внутри нельзя использовать саму функцию filter. +def func(x): + return res_func +def filter_clone(res_func, par2): + result_list = [] + for i in range(len(par2)): + if func(x) == true: + result_list.append(res_func) + return result_list + # Задача-4: # Даны четыре точки А1(х1, у1), А2(x2 ,у2), А3(x3 , у3), А4(х4, у4). # Определить, будут ли они вершинами параллелограмма. +def check_parall(x1, y1, x2, y2, x3, y3, x4, y4): + side1 = y2 - y1 + side2 = x3 - x2 + side3 = y3 - y4 + side4 = x4 - x1 + if side1 == side3 and side2 == side4: + print('Oh, its a parallelogram') + else: + print('Thats not a parallelogram') + pass + +check_parall(1, 1, 1, 4, 4, 4, 4, 1)