From 52dbc9f6c78cb59d16439a331c433f7ec9390539 Mon Sep 17 00:00:00 2001 From: boo-learn Date: Sat, 5 Dec 2020 22:52:00 +0300 Subject: [PATCH 01/21] add string practice tasks --- Module3/practice/string/01_task_string.py | 11 +++++++++++ Module3/practice/string/02_task_string.py | 12 ++++++++++++ Module3/practice/string/03_task_string.py | 3 +++ Module3/practice/string/04_task_string.py | 7 +++++++ Module3/practice/string/04a_task_string.py | 10 ++++++++++ Module3/practice/string/05_task_string.py | 8 ++++++++ 6 files changed, 51 insertions(+) create mode 100644 Module3/practice/string/01_task_string.py create mode 100644 Module3/practice/string/02_task_string.py create mode 100644 Module3/practice/string/03_task_string.py create mode 100644 Module3/practice/string/04_task_string.py create mode 100644 Module3/practice/string/04a_task_string.py create mode 100644 Module3/practice/string/05_task_string.py diff --git a/Module3/practice/string/01_task_string.py b/Module3/practice/string/01_task_string.py new file mode 100644 index 000000000..01c4b5f5d --- /dev/null +++ b/Module3/practice/string/01_task_string.py @@ -0,0 +1,11 @@ +# Для регистрации на сайте, пользователи часто вводят Имя и Фамилию с маленькой буквы. +# Напишите мини-программу, которая будет запрашивать у пользователя имя и фамилию +# и заменять первые буквы буквами в верхнем регистре. +# Измененные данные(имя и фамилию) вывести на экран. + +name = input("Имя: ") +surname = input("Фамилия: ") + +# TODO: your code here + +print(name, surname) \ No newline at end of file diff --git a/Module3/practice/string/02_task_string.py b/Module3/practice/string/02_task_string.py new file mode 100644 index 000000000..313941aab --- /dev/null +++ b/Module3/practice/string/02_task_string.py @@ -0,0 +1,12 @@ +# Пользователь Василий очень часто злоупотребляет восклицательными знаками! +# Напишите программу, которая будет заменять восклицательные знаки на точки. +# Пример строки: «Вася самый умный! Вася лучше всех! И ждет его успех! Вот так!» + +text = "Вася самый умный! Вася лучше всех! И ждет его успех! Вот так!" + +# TODO: your code here + +print(text) + +# Важно! Ваше решение должно работать не только с данной строкой, но и слюбой другой. +# Проверьте это, заменив текст примера на любой другой. diff --git a/Module3/practice/string/03_task_string.py b/Module3/practice/string/03_task_string.py new file mode 100644 index 000000000..b8bc0e9a4 --- /dev/null +++ b/Module3/practice/string/03_task_string.py @@ -0,0 +1,3 @@ +# Подсчитать количество букв «а» во введенной строке + +# TODO: your code here diff --git a/Module3/practice/string/04_task_string.py b/Module3/practice/string/04_task_string.py new file mode 100644 index 000000000..c184075f3 --- /dev/null +++ b/Module3/practice/string/04_task_string.py @@ -0,0 +1,7 @@ +# Дана строка текста, слова разделены пробелами, знаки препинания отсутствуют. +# Определить в предоставленном сообщении количество слов длиной больше, чем 5. + +text = "Lorem ipsum dolor sit amet consectetur adipiscing elit Integer porttitor bibendum nisi ut convallis ante" +# Примечание: для генериации текста можете воспользоваться сайтом: https://ru.lipsum.com/ + +# TODO: your code here diff --git a/Module3/practice/string/04a_task_string.py b/Module3/practice/string/04a_task_string.py new file mode 100644 index 000000000..fa83b8478 --- /dev/null +++ b/Module3/practice/string/04a_task_string.py @@ -0,0 +1,10 @@ +# Дана строка текста, слова разделены пробелами. +# В предложении могут присутствовать следующие знаки препинания ",.!?-". Знаки препинания частьюслова не являются. +# Определить в предоставленном сообщении количество слов длиной больше, чем 7. + +text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam placerat consequat vestibulum. " \ + "Donec tincidunt sed lorem et feugiat. Nullam elementum" +# Примечание: для генериации текста можете воспользоваться сайтом: https://ru.lipsum.com/ +# Примечание: обратите внимание на перенос длинной строки на новую строку + +# TODO: your code here diff --git a/Module3/practice/string/05_task_string.py b/Module3/practice/string/05_task_string.py new file mode 100644 index 000000000..adda7927e --- /dev/null +++ b/Module3/practice/string/05_task_string.py @@ -0,0 +1,8 @@ +# Вам дана строка, состоящая из строчных латинских букв и пробелов. +# Ваша задача — определить, является ли эта строка «перевертышем», если удалить из нее все пробелы и знаки пуктуации. +# Строка называется «перевертышем», если читается одинаково слева направо и справа налево. + +# Пример строки перевертыша: "И темен город. Мороз узором дорог не мети." + +# TODO: your code here + From 80174d1e76ee8cdb6a565da0b1eb55d5877fc4f1 Mon Sep 17 00:00:00 2001 From: boo-learn Date: Sun, 6 Dec 2020 01:08:10 +0300 Subject: [PATCH 02/21] add tasks for Module-3 --- Module3/home_work/01_hw.py | 9 ++++ Module3/home_work/02_hw.py | 8 ++++ Module3/home_work/03_hw.py | 4 ++ Module3/home_work/04_hw.py | 7 +++ Module3/home_work/05_hw.py | 6 +++ Module3/home_work/06_hw.py | 45 +++++++++++++++++ Module3/practice/dict/01_task_dict.py | 10 ++++ Module3/practice/dict/02_task_dict.py | 48 +++++++++++++++++++ .../practice/list_and_tuple/01_task_list.py | 6 +++ .../practice/list_and_tuple/02_task_list.py | 6 +++ .../practice/list_and_tuple/03_task_list.py | 4 ++ .../practice/list_and_tuple/04_task_list.py | 4 ++ .../practice/list_and_tuple/05_task_list.py | 17 +++++++ .../practice/list_and_tuple/06_task_list.py | 7 +++ .../practice/list_and_tuple/07_task_tuple.py | 5 ++ .../practice/list_and_tuple/08_task_tuple.py | 15 ++++++ .../practice/list_and_tuple/09_task_tuple.py | 4 ++ .../list_and_tuple/add01_task_list.py | 5 ++ .../list_and_tuple/add02_task_list.py | 7 +++ ...4a_task_string.py => add01_task_string.py} | 0 20 files changed, 217 insertions(+) create mode 100644 Module3/home_work/01_hw.py create mode 100644 Module3/home_work/02_hw.py create mode 100644 Module3/home_work/03_hw.py create mode 100644 Module3/home_work/04_hw.py create mode 100644 Module3/home_work/05_hw.py create mode 100644 Module3/home_work/06_hw.py create mode 100644 Module3/practice/dict/01_task_dict.py create mode 100644 Module3/practice/dict/02_task_dict.py create mode 100644 Module3/practice/list_and_tuple/01_task_list.py create mode 100644 Module3/practice/list_and_tuple/02_task_list.py create mode 100644 Module3/practice/list_and_tuple/03_task_list.py create mode 100644 Module3/practice/list_and_tuple/04_task_list.py create mode 100644 Module3/practice/list_and_tuple/05_task_list.py create mode 100644 Module3/practice/list_and_tuple/06_task_list.py create mode 100644 Module3/practice/list_and_tuple/07_task_tuple.py create mode 100644 Module3/practice/list_and_tuple/08_task_tuple.py create mode 100644 Module3/practice/list_and_tuple/09_task_tuple.py create mode 100644 Module3/practice/list_and_tuple/add01_task_list.py create mode 100644 Module3/practice/list_and_tuple/add02_task_list.py rename Module3/practice/string/{04a_task_string.py => add01_task_string.py} (100%) diff --git a/Module3/home_work/01_hw.py b/Module3/home_work/01_hw.py new file mode 100644 index 000000000..51e9724b8 --- /dev/null +++ b/Module3/home_work/01_hw.py @@ -0,0 +1,9 @@ +# Дан список имен. +# Выведите все имена в одну строку через запятую + +names = ["Иван", "Ирина", "Вячеслав", "Василий", "Петр"] + +# TODO: your code here + +# Пример вывода: +# Иван, Ирина, Вячеслав, Василий, Петр diff --git a/Module3/home_work/02_hw.py b/Module3/home_work/02_hw.py new file mode 100644 index 000000000..dfa2b306c --- /dev/null +++ b/Module3/home_work/02_hw.py @@ -0,0 +1,8 @@ +# Напишите алгоритм, заполняющий список произвольными целыми числами +# в диапазоне от -100 до 100. В списке должно быть n - элементов. +# Подсказка: +# для получения случайного числа используйте функцию randint() модуля random +import random +numbers = [] +# print(random.randint(10, 20)) # раскомментируйте, чтобы посмотреть работу функции randint +# TODO: your code here diff --git a/Module3/home_work/03_hw.py b/Module3/home_work/03_hw.py new file mode 100644 index 000000000..8f216a102 --- /dev/null +++ b/Module3/home_work/03_hw.py @@ -0,0 +1,4 @@ +# Дан список из n элементов, заполненный произвольными целыми числами в диапазоне от -100 до 100. +# Вывести на экран сумму всех положительных элементов кратных двум. + +# TODO: your code here diff --git a/Module3/home_work/04_hw.py b/Module3/home_work/04_hw.py new file mode 100644 index 000000000..326998975 --- /dev/null +++ b/Module3/home_work/04_hw.py @@ -0,0 +1,7 @@ +# Дан список, заполненный произвольными целыми числами, получите новый список, +# элементами которого будут квадратные корни элементов исходного списка, +# но только если результаты извлечения корня не имеют десятичной части и +# если такой корень вообще можно извлечь +# Пример: +# Дано: [2, -5, 8, 9, -25, 25, 4] +# Результат: [3, 5, 2] diff --git a/Module3/home_work/05_hw.py b/Module3/home_work/05_hw.py new file mode 100644 index 000000000..c51293672 --- /dev/null +++ b/Module3/home_work/05_hw.py @@ -0,0 +1,6 @@ +# Дан список имен. +# Найдите самое длинное имя, если таких имен несколько - выведи любое их них + +names = ["Иван", "Ирина", "Вячеслав", "Василий", "Петр"] + +# TODO: your code here diff --git a/Module3/home_work/06_hw.py b/Module3/home_work/06_hw.py new file mode 100644 index 000000000..f60d49aab --- /dev/null +++ b/Module3/home_work/06_hw.py @@ -0,0 +1,45 @@ +# Данные о товарах на складе хранятся в словаре +items = [ + { + "name": "Кроссовки", + "brand": "adidas", + "price": 3440 + }, + { + "name": "Кепка", + "brand": "reebok", + "price": 3500 + }, + { + "name": "Рюкзак", + "brand": "reebok", + "price": 4800 + }, + { + "name": "Шорты", + "brand": "puma", + "price": 2500 + }, + { + "name": "Шорты", + "brand": "adidas", + "price": 2750 + }, + { + "name": "Футболка", + "brand": "puma", + "price": 1700 + }, +] +# Найдите: +print("Товары на складе представлены брэндами: ") + +# TODO: your code here + +print("На складе больше всего товаров брэнда(ов): ") + +# TODO: your code here + +print("На складе самый дорогой товар брэнда(ов): ") + +# TODO: your code here diff --git a/Module3/practice/dict/01_task_dict.py b/Module3/practice/dict/01_task_dict.py new file mode 100644 index 000000000..b4da2c64a --- /dev/null +++ b/Module3/practice/dict/01_task_dict.py @@ -0,0 +1,10 @@ +# Дан словарь, содержащий данные о товаре из магазина +# "price" - цена товара в валюте "currency" +# "count" - количествотовара в магазине +# Считая,что курс доллара равен dollar_rate +# Вычислите цену всех товаров с названием "name" в долларах + +item = {"name": "Кроссовки", "price": "7540.5", "currency": "rub", "count": "10"} +dollar_rate = 74.12 + +# TODO: your code here diff --git a/Module3/practice/dict/02_task_dict.py b/Module3/practice/dict/02_task_dict.py new file mode 100644 index 000000000..82ba7084b --- /dev/null +++ b/Module3/practice/dict/02_task_dict.py @@ -0,0 +1,48 @@ +# Данные о сотрудниках в программе хранятся в словаре +staff = [ + { + 'name': 'Алексей', + 'surname': 'Петров', + 'salary': 124300 + }, + { + 'name': 'Николай', + 'surname': 'Петров', + 'salary': 120000 + }, + { + 'name': 'Иван', + 'surname': 'Павлов', + 'salary': 34500 + }, + { + 'name': 'Василий', + 'surname': 'Кукушкин', + 'salary': 162500 + }, + { + 'name': 'Василий', + 'surname': 'Павлов', + 'salary': 47800 + }, +] +# Вычислите: +print("Имя и Фамилию сотрудника с самой высокой зарплатой:") + +# TODO: your code here + +print("Имя и Фамилию сотрудника с самой низкой зарплатой:") + +# TODO: your code here + +print("Среднеарифметическую зарплату всех сотрудников") + +# TODO: your code here + +print("Количество однофамильцев в организации") + +# TODO: your code here + +print("*Список всех сотрудников(Имя и Фамилию) в порядке возрастания их зарплаты") + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/01_task_list.py b/Module3/practice/list_and_tuple/01_task_list.py new file mode 100644 index 000000000..b35769aa9 --- /dev/null +++ b/Module3/practice/list_and_tuple/01_task_list.py @@ -0,0 +1,6 @@ +# Дан список. Вывести элементы списка. +# Каждый элемент должен быть выведен с новой строки. + +my_list = [24, "Васлий", "выхухоль", 42, -12.5] + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/02_task_list.py b/Module3/practice/list_and_tuple/02_task_list.py new file mode 100644 index 000000000..12536b536 --- /dev/null +++ b/Module3/practice/list_and_tuple/02_task_list.py @@ -0,0 +1,6 @@ +# Дан список. Вывести элементы списка, пронумеровав их начиная с единицы. +# Каждый элемент должен быть выведен с новой строки. + +fruits = ["яблоко", "банан", "киви", "ананас", "груша"] + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/03_task_list.py b/Module3/practice/list_and_tuple/03_task_list.py new file mode 100644 index 000000000..ea09a43d7 --- /dev/null +++ b/Module3/practice/list_and_tuple/03_task_list.py @@ -0,0 +1,4 @@ +# Дан список из n элементов, заполненный произвольными целыми числами в диапазоне от -10 до 10. +# Вывести на экран сумму всех элементов. + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/04_task_list.py b/Module3/practice/list_and_tuple/04_task_list.py new file mode 100644 index 000000000..a19b80eb7 --- /dev/null +++ b/Module3/practice/list_and_tuple/04_task_list.py @@ -0,0 +1,4 @@ +# Дан список из n элементов, заполненный произвольными целыми числами в диапазоне от -10 до 10. +# Вывести на экран сумму всех положительных элементов. + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/05_task_list.py b/Module3/practice/list_and_tuple/05_task_list.py new file mode 100644 index 000000000..1481e123d --- /dev/null +++ b/Module3/practice/list_and_tuple/05_task_list.py @@ -0,0 +1,17 @@ +# Дан список фруктов. +# Напишите программу, выводящую фрукты в виде нумерованного списка, +# выровненного по правой стороне - слева короткие слова дополняем символами пробела + +# Исходные данные: +fruits = ["яблоко", "банан", "киви", "арбуз"] + +# TODO: your code here + +# Пример вывода: +# 1. яблоко +# 2. банан +# 3. киви +# 4. арбуз + +# Важно! Ваше решение должно работать с любыми корректными "исходными данными" +# Проверьте это, добавив или удалив несколько элементов списка diff --git a/Module3/practice/list_and_tuple/06_task_list.py b/Module3/practice/list_and_tuple/06_task_list.py new file mode 100644 index 000000000..453968ef1 --- /dev/null +++ b/Module3/practice/list_and_tuple/06_task_list.py @@ -0,0 +1,7 @@ +# Даны два целых числа. +# Вывести список всех чисел кратных трем в диапазоне между заданными числами. + +first_number = int(input()) # Первое число +second_number = int(input()) # Второе число + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/07_task_tuple.py b/Module3/practice/list_and_tuple/07_task_tuple.py new file mode 100644 index 000000000..160a69f9c --- /dev/null +++ b/Module3/practice/list_and_tuple/07_task_tuple.py @@ -0,0 +1,5 @@ +# Дан кортеж заполненный целыми числами +# Найдите самый большой элемент кортежа +tup = (2, 4, 6, -4, 12, 0, 5) + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/08_task_tuple.py b/Module3/practice/list_and_tuple/08_task_tuple.py new file mode 100644 index 000000000..666a76e3b --- /dev/null +++ b/Module3/practice/list_and_tuple/08_task_tuple.py @@ -0,0 +1,15 @@ +# Даны примеры создания кортежев. +# Выясните, какие из них являются корретными. +# Все некорректные объявления и создающие не котрежи закомментируйте (#) +tup1 = (2, 4, -6) +tup2 = (2, "Василия", -6) +tup3 = 2, 4, -6 +tup4 = (2) +tup5 = (2,) +tup6 = 2, +tup7 = tuple([2, 4, -6, 12]) +tup8 = tuple(2, 7, 8, -5) +tup9 = tuple() +tup10 = tuple("hello") +tup11 = () +tup12 = 2 and 4 \ No newline at end of file diff --git a/Module3/practice/list_and_tuple/09_task_tuple.py b/Module3/practice/list_and_tuple/09_task_tuple.py new file mode 100644 index 000000000..96724e535 --- /dev/null +++ b/Module3/practice/list_and_tuple/09_task_tuple.py @@ -0,0 +1,4 @@ +# Дано 3 кортежа заполненные произвольными целыми числами. +# Найдите количество элементов, которые встречаются во всех трех кортежах. + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/add01_task_list.py b/Module3/practice/list_and_tuple/add01_task_list.py new file mode 100644 index 000000000..74cd7f327 --- /dev/null +++ b/Module3/practice/list_and_tuple/add01_task_list.py @@ -0,0 +1,5 @@ +# Дан список из элементов x = [-2,-1,0,1,2,3,4,5,6,7] - это координаты х, точек лежащих на прямой +# описываемой уравнением y=2x-4). +# Получить и вывести на экран список координат y для данного уравнения прямой. + +# TODO: your code here diff --git a/Module3/practice/list_and_tuple/add02_task_list.py b/Module3/practice/list_and_tuple/add02_task_list.py new file mode 100644 index 000000000..ab3b579af --- /dev/null +++ b/Module3/practice/list_and_tuple/add02_task_list.py @@ -0,0 +1,7 @@ +# Пользователь вводит на экран дату в формате dd.mm.yyyy, например: 02.11.2013. +# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года. + +# Подсказка: создайте списки с названием дней и названиями месяцев +# Примечание: для экономии времени, можно ограничить номер дня десятью. +# Примечание: склонениями названий можно принебречь + diff --git a/Module3/practice/string/04a_task_string.py b/Module3/practice/string/add01_task_string.py similarity index 100% rename from Module3/practice/string/04a_task_string.py rename to Module3/practice/string/add01_task_string.py From 98a800f31abe9fcef88b917af4c2fbe13ed87f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=AE=D1=80?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Sun, 6 Dec 2020 13:55:53 +0300 Subject: [PATCH 03/21] add tasks for Module-4 --- Module4/practice/funcs/01_task_func.py | 13 +++++++++++++ Module4/practice/funcs/02_task_func.py | 14 ++++++++++++++ Module4/practice/funcs/03_task_func.py | 12 ++++++++++++ Module4/practice/funcs/04_task_func.py | 6 ++++++ 4 files changed, 45 insertions(+) create mode 100644 Module4/practice/funcs/01_task_func.py create mode 100644 Module4/practice/funcs/02_task_func.py create mode 100644 Module4/practice/funcs/03_task_func.py create mode 100644 Module4/practice/funcs/04_task_func.py diff --git a/Module4/practice/funcs/01_task_func.py b/Module4/practice/funcs/01_task_func.py new file mode 100644 index 000000000..bead1ea43 --- /dev/null +++ b/Module4/practice/funcs/01_task_func.py @@ -0,0 +1,13 @@ +# Напишите функцию, возвращающую наибольшее из двух числе + +def max2(n1, n2): + # TODO: your code here + pass + + +# Тестируем функцию +print(max2(5, 6)) +print(max2(-10, -12)) +print(max2(2.5, 2.6)) +print(max2(-2.5, 0)) +print(max2(0, -2.5)) diff --git a/Module4/practice/funcs/02_task_func.py b/Module4/practice/funcs/02_task_func.py new file mode 100644 index 000000000..55774e9a2 --- /dev/null +++ b/Module4/practice/funcs/02_task_func.py @@ -0,0 +1,14 @@ +# Напишите функцию, определяющую является ли число палиндромом. +# Палиндром - число читающееся одинаково слева направо и справа налево. +# Пример палиндрома: 34543 + +def palindrome(number): + pass + + +# Тестируем функцию +print(palindrome(3454)) +print(palindrome(3443)) +print(palindrome(1234541)) +print(palindrome(1234321)) +print(palindrome(77777)) diff --git a/Module4/practice/funcs/03_task_func.py b/Module4/practice/funcs/03_task_func.py new file mode 100644 index 000000000..b9f7e330d --- /dev/null +++ b/Module4/practice/funcs/03_task_func.py @@ -0,0 +1,12 @@ +# Даны координаты двух точек на плоскости. +# Напишите функцию нахождения расстояния между двумя точками. + +def distance(x1, y1, x2, y2): + # TODO: your code here + pass + + +# Тестируем функцию +print(distance(2, 4, 2, 9)) +print(distance(12, 8, 12, -9)) +print(distance(23, 0, 15, 32)) diff --git a/Module4/practice/funcs/04_task_func.py b/Module4/practice/funcs/04_task_func.py new file mode 100644 index 000000000..77900cf7f --- /dev/null +++ b/Module4/practice/funcs/04_task_func.py @@ -0,0 +1,6 @@ +# Даны координаты трех точек (xa; ya) (xb; yb) (xc; yc),точно известно, что если соединить эти точки отрезками, +# то получится треугольник(проверять, можно ли построить треугольник по заданным координатам, не нужно). +# Найдите периметр и площадь этого треугольника. +# Подсказка: для нахождения площади используйте Теорему Герона + +# TODO: your code here From 639a3aff066f75c436eaddc4ceda7c10658d9f3e Mon Sep 17 00:00:00 2001 From: boo-learn Date: Sun, 13 Dec 2020 02:05:50 +0300 Subject: [PATCH 04/21] add task and hw for module-4 --- Module4/home_work/01_hw_func.py | 13 +++++++++++++ Module4/home_work/02_hw_func.py | 13 +++++++++++++ Module4/home_work/03_hw_func.py | 2 ++ Module4/home_work/04_hw_func.py | 13 +++++++++++++ Module4/practice/funcs/01_task_func.py | 2 +- Module4/practice/funcs/02_task_func.py | 1 + Module4/practice/funcs/04_task_func.py | 16 +++++++++++----- Module4/practice/funcs/05_task_func.py | 9 +++++++++ Module4/practice/funcs/06_task_func.py | 8 ++++++++ Module4/practice/funcs/07_task_func.py | 4 ++++ Module4/practice/funcs/08_task_func.py | 1 + 11 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 Module4/home_work/01_hw_func.py create mode 100644 Module4/home_work/02_hw_func.py create mode 100644 Module4/home_work/03_hw_func.py create mode 100644 Module4/home_work/04_hw_func.py create mode 100644 Module4/practice/funcs/05_task_func.py create mode 100644 Module4/practice/funcs/06_task_func.py create mode 100644 Module4/practice/funcs/07_task_func.py create mode 100644 Module4/practice/funcs/08_task_func.py diff --git a/Module4/home_work/01_hw_func.py b/Module4/home_work/01_hw_func.py new file mode 100644 index 000000000..542654e97 --- /dev/null +++ b/Module4/home_work/01_hw_func.py @@ -0,0 +1,13 @@ +# Дан шестизначный номер билета. Определить, является ли билет счастливым. +# Решение реализовать в виде функции. +# Билет считается счастливым, если сумма его первых и последних цифр равны. + +def lucky_ticket(ticket_number): + # TODO: your code here + pass + + +# Тестируем функцию +print(lucky_ticket(123006)) +print(lucky_ticket(12321)) +print(lucky_ticket(436751)) \ No newline at end of file diff --git a/Module4/home_work/02_hw_func.py b/Module4/home_work/02_hw_func.py new file mode 100644 index 000000000..19ce61f2d --- /dev/null +++ b/Module4/home_work/02_hw_func.py @@ -0,0 +1,13 @@ +# Даны координаты трех точек (xa; ya) (xb; yb) (xc; yc), +# точки соединены отрезками AB, BC и AC. Найдите отрезок с минимальной длинной. +# Если отрезков с минимальной длиной несколько - вывести любой + +# При решении задачи необходимо использовать функцию расстояния между двумя точками. + +def distance(x1, y1, x2, y2): + # TODO: тело, которое вы реализовали на практической работе + pass + + +# TODO: your code here +print("Самый короткий отрезок:", ...) # Выводим название отрезка, например “АС”. diff --git a/Module4/home_work/03_hw_func.py b/Module4/home_work/03_hw_func.py new file mode 100644 index 000000000..76bd94417 --- /dev/null +++ b/Module4/home_work/03_hw_func.py @@ -0,0 +1,2 @@ +# Даны координаты центров двух окружностей (x1; y1) (x2; y2) и и их радиусы R1 и R2. +# Находится ли одна окружность целиком внутри другой diff --git a/Module4/home_work/04_hw_func.py b/Module4/home_work/04_hw_func.py new file mode 100644 index 000000000..befedd82a --- /dev/null +++ b/Module4/home_work/04_hw_func.py @@ -0,0 +1,13 @@ +# Написать программу, выполняющую операции (сложение и вычитание) с простыми дробями. +# Дроби вводятся и выводятся в формате: n x/y +# ,где n - целая часть, x - числитель, у - знаменатель. +# Дроби могут быть отрицательные и не иметь целой части, или иметь только целую часть. + +# Примеры: +# Ввод: 5/6 + 4/7 (всё выражение вводится целиком в виде строки) +# Вывод: 1 17/42 (результат обязательно упростить и выделить целую часть) +# Ввод: -2/3 - -2 +# Вывод: 1 1/3 + + + diff --git a/Module4/practice/funcs/01_task_func.py b/Module4/practice/funcs/01_task_func.py index bead1ea43..616ebf121 100644 --- a/Module4/practice/funcs/01_task_func.py +++ b/Module4/practice/funcs/01_task_func.py @@ -1,4 +1,4 @@ -# Напишите функцию, возвращающую наибольшее из двух числе +# Напишите функцию, возвращающую наибольшее из двух чисел def max2(n1, n2): # TODO: your code here diff --git a/Module4/practice/funcs/02_task_func.py b/Module4/practice/funcs/02_task_func.py index 55774e9a2..c0c01e3bb 100644 --- a/Module4/practice/funcs/02_task_func.py +++ b/Module4/practice/funcs/02_task_func.py @@ -1,6 +1,7 @@ # Напишите функцию, определяющую является ли число палиндромом. # Палиндром - число читающееся одинаково слева направо и справа налево. # Пример палиндрома: 34543 +# * попробуйте решить данную задачу, не преобразуя число к строке def palindrome(number): pass diff --git a/Module4/practice/funcs/04_task_func.py b/Module4/practice/funcs/04_task_func.py index 77900cf7f..460482f35 100644 --- a/Module4/practice/funcs/04_task_func.py +++ b/Module4/practice/funcs/04_task_func.py @@ -1,6 +1,12 @@ -# Даны координаты трех точек (xa; ya) (xb; yb) (xc; yc),точно известно, что если соединить эти точки отрезками, -# то получится треугольник(проверять, можно ли построить треугольник по заданным координатам, не нужно). -# Найдите периметр и площадь этого треугольника. -# Подсказка: для нахождения площади используйте Теорему Герона +# Даны координаты трех точек p1(x1; y1) p2(x2; y2) p3(x3; y3). +# Напишите функцию, проверябщую можно ли построить треугольник, соединив данные точки отрезками -# TODO: your code here +def can_triangle(p1, p2, p3): + # TODO: your code here + pass + + +# Пример вызова функции +can_triangle((10, 12), (14, 18), (12, 12)) + +# Не забудьте протестировать вашу функцию diff --git a/Module4/practice/funcs/05_task_func.py b/Module4/practice/funcs/05_task_func.py new file mode 100644 index 000000000..edceb6c9a --- /dev/null +++ b/Module4/practice/funcs/05_task_func.py @@ -0,0 +1,9 @@ +# Даны координаты трех точек (xa; ya) (xb; yb) (xc; yc), если соединить эти точки отрезками +# и получится треугольник, то нужно найти его периметр и площадь. +# Если по заданным точкам треугольник построить нельзя, выведите соответствующее сообщение. +# Подсказка: для нахождения площади используйте Теорему Герона + +# TODO: your code here + + +# Не забудьте протестировать вашу функцию diff --git a/Module4/practice/funcs/06_task_func.py b/Module4/practice/funcs/06_task_func.py new file mode 100644 index 000000000..e301729e6 --- /dev/null +++ b/Module4/practice/funcs/06_task_func.py @@ -0,0 +1,8 @@ +# Напишите функцию, которая проверит, что точка (x, y) +# находится строго внутри окружности с центром в точке (xc, yc) и радиусом r: + +def point_in_circle(x, y, xc, yc, r): + # TODO: your code here + pass + +# Не забудьте протестировать вашу функцию diff --git a/Module4/practice/funcs/07_task_func.py b/Module4/practice/funcs/07_task_func.py new file mode 100644 index 000000000..e77793d3b --- /dev/null +++ b/Module4/practice/funcs/07_task_func.py @@ -0,0 +1,4 @@ +# Напишите функцию принимающую время в секундах и возвращающую строку формата: “hh:mm:ss”, +# где hh - часы, mm- минуты, ss - секунды. +# Пример: +# 29143 секунд → 08:05:43 diff --git a/Module4/practice/funcs/08_task_func.py b/Module4/practice/funcs/08_task_func.py new file mode 100644 index 000000000..a56682675 --- /dev/null +++ b/Module4/practice/funcs/08_task_func.py @@ -0,0 +1 @@ +# Напишите функцию находящую n-ое число Фибоначчи. From e4f98976885a61763c8d54c9a071910b285e0073 Mon Sep 17 00:00:00 2001 From: boo-learn Date: Sun, 13 Dec 2020 02:29:59 +0300 Subject: [PATCH 05/21] add tasks_part2 for module-4 --- Module4/practice/{funcs => funcs_part1}/01_task_func.py | 0 Module4/practice/{funcs => funcs_part1}/02_task_func.py | 0 Module4/practice/{funcs => funcs_part1}/03_task_func.py | 0 Module4/practice/{funcs => funcs_part1}/04_task_func.py | 0 Module4/practice/{funcs => funcs_part1}/05_task_func.py | 0 Module4/practice/{funcs => funcs_part1}/06_task_func.py | 0 Module4/practice/{funcs => funcs_part1}/07_task_func.py | 0 Module4/practice/{funcs => funcs_part1}/08_task_func.py | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename Module4/practice/{funcs => funcs_part1}/01_task_func.py (100%) rename Module4/practice/{funcs => funcs_part1}/02_task_func.py (100%) rename Module4/practice/{funcs => funcs_part1}/03_task_func.py (100%) rename Module4/practice/{funcs => funcs_part1}/04_task_func.py (100%) rename Module4/practice/{funcs => funcs_part1}/05_task_func.py (100%) rename Module4/practice/{funcs => funcs_part1}/06_task_func.py (100%) rename Module4/practice/{funcs => funcs_part1}/07_task_func.py (100%) rename Module4/practice/{funcs => funcs_part1}/08_task_func.py (100%) diff --git a/Module4/practice/funcs/01_task_func.py b/Module4/practice/funcs_part1/01_task_func.py similarity index 100% rename from Module4/practice/funcs/01_task_func.py rename to Module4/practice/funcs_part1/01_task_func.py diff --git a/Module4/practice/funcs/02_task_func.py b/Module4/practice/funcs_part1/02_task_func.py similarity index 100% rename from Module4/practice/funcs/02_task_func.py rename to Module4/practice/funcs_part1/02_task_func.py diff --git a/Module4/practice/funcs/03_task_func.py b/Module4/practice/funcs_part1/03_task_func.py similarity index 100% rename from Module4/practice/funcs/03_task_func.py rename to Module4/practice/funcs_part1/03_task_func.py diff --git a/Module4/practice/funcs/04_task_func.py b/Module4/practice/funcs_part1/04_task_func.py similarity index 100% rename from Module4/practice/funcs/04_task_func.py rename to Module4/practice/funcs_part1/04_task_func.py diff --git a/Module4/practice/funcs/05_task_func.py b/Module4/practice/funcs_part1/05_task_func.py similarity index 100% rename from Module4/practice/funcs/05_task_func.py rename to Module4/practice/funcs_part1/05_task_func.py diff --git a/Module4/practice/funcs/06_task_func.py b/Module4/practice/funcs_part1/06_task_func.py similarity index 100% rename from Module4/practice/funcs/06_task_func.py rename to Module4/practice/funcs_part1/06_task_func.py diff --git a/Module4/practice/funcs/07_task_func.py b/Module4/practice/funcs_part1/07_task_func.py similarity index 100% rename from Module4/practice/funcs/07_task_func.py rename to Module4/practice/funcs_part1/07_task_func.py diff --git a/Module4/practice/funcs/08_task_func.py b/Module4/practice/funcs_part1/08_task_func.py similarity index 100% rename from Module4/practice/funcs/08_task_func.py rename to Module4/practice/funcs_part1/08_task_func.py From 3a84875ed9419eb1ebbbf430e27de345c541f1aa Mon Sep 17 00:00:00 2001 From: boo-learn Date: Sun, 13 Dec 2020 02:34:05 +0300 Subject: [PATCH 06/21] add task and hw for module-4 --- Module4/home_work/03_hw_func.py | 2 ++ Module4/home_work/04_hw_func.py | 1 + Module4/practice/funcs_part2/10_task_func.py | 11 ++++++++++ Module4/practice/funcs_part2/11_task_func.py | 23 ++++++++++++++++++++ Module4/practice/funcs_part2/12_task_func.py | 1 + README.md | 2 +- 6 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 Module4/practice/funcs_part2/10_task_func.py create mode 100644 Module4/practice/funcs_part2/11_task_func.py create mode 100644 Module4/practice/funcs_part2/12_task_func.py diff --git a/Module4/home_work/03_hw_func.py b/Module4/home_work/03_hw_func.py index 76bd94417..686a92fef 100644 --- a/Module4/home_work/03_hw_func.py +++ b/Module4/home_work/03_hw_func.py @@ -1,2 +1,4 @@ # Даны координаты центров двух окружностей (x1; y1) (x2; y2) и и их радиусы R1 и R2. # Находится ли одна окружность целиком внутри другой + +# TODO: your code here diff --git a/Module4/home_work/04_hw_func.py b/Module4/home_work/04_hw_func.py index befedd82a..0109a3ede 100644 --- a/Module4/home_work/04_hw_func.py +++ b/Module4/home_work/04_hw_func.py @@ -9,5 +9,6 @@ # Ввод: -2/3 - -2 # Вывод: 1 1/3 +# TODO: your code here diff --git a/Module4/practice/funcs_part2/10_task_func.py b/Module4/practice/funcs_part2/10_task_func.py new file mode 100644 index 000000000..79b9f0dc6 --- /dev/null +++ b/Module4/practice/funcs_part2/10_task_func.py @@ -0,0 +1,11 @@ +# Напишите функцию, находящую среднее арифметическое всех аргументов +# Функция должна вызываться с любым количеством аргументов + +def average(*args): + # TODO: your code here + pass + + +print(average(3, 4, 8)) +print(average(1, 4, 5, -3, 8, 4)) +print(average(-10, 12, 6.3, -5.5, 7, 0.2)) diff --git a/Module4/practice/funcs_part2/11_task_func.py b/Module4/practice/funcs_part2/11_task_func.py new file mode 100644 index 000000000..0365dec54 --- /dev/null +++ b/Module4/practice/funcs_part2/11_task_func.py @@ -0,0 +1,23 @@ +# Используя функцию average() из предыдущей задачи, найдите среднее арифметическое всех элементов списка и кортежа + +def average(*args): + # TODO: тело из предыдущей задачи + pass + + +def gen_list(size, at=-10, to=10): + import random # импорт в функции возможен, но не рекомендуется PEP-8 + """ + :param size: кол-во элементов списка + :param at: минимально возможное значение элементов + :param to: максимально возможное значение элементов + :return: списко из size произвольных элементов вдиапазоне at..to + """ + result_list = [] + for _ in range(size): + result_list.append(random.randint(at, to)) + return result_list + + +my_list = gen_list(10) +my_tuple = 5, 7, -4, 10, 8 diff --git a/Module4/practice/funcs_part2/12_task_func.py b/Module4/practice/funcs_part2/12_task_func.py new file mode 100644 index 000000000..121dd8838 --- /dev/null +++ b/Module4/practice/funcs_part2/12_task_func.py @@ -0,0 +1 @@ +# in developing ... diff --git a/README.md b/README.md index c4d63a92e..5bb0aae4f 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ ### Модуль 4: Функции 1. Создание функций 1. Аргументы по умолчанию -1. Переменное количество переменных +1. Переменное количество аргументов 1. lambda-функции 1. Встроенные функции map, zip, filter From 2b806fbc92e35fb392ec8036418228a03f3e26cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D1=87=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=95=D0=B2?= =?UTF-8?q?=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9?= <71762690+boo-learn@users.noreply.github.com> Date: Tue, 15 Dec 2020 11:26:33 +0300 Subject: [PATCH 07/21] Update 01_task_string.py --- Module3/practice/string/01_task_string.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Module3/practice/string/01_task_string.py b/Module3/practice/string/01_task_string.py index 01c4b5f5d..a5750c5bb 100644 --- a/Module3/practice/string/01_task_string.py +++ b/Module3/practice/string/01_task_string.py @@ -6,6 +6,7 @@ name = input("Имя: ") surname = input("Фамилия: ") -# TODO: your code here +name = name.capitalize() +surname = surname.capitalize() -print(name, surname) \ No newline at end of file +print(name, surname) From 8e1956f357d904f073627964b6130920ee9b73c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=AE=D1=80?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Thu, 17 Dec 2020 09:05:10 +0300 Subject: [PATCH 08/21] add task for module-5 --- Module5/practice/modules/10_task_module.py | 8 ++++++++ Module5/practice/repeat/01_task_repeat.py | 7 +++++++ Module5/practice/repeat/02_task_repeat.py | 7 +++++++ Module5/practice/repeat/03_task_repeat.py | 5 +++++ Module5/practice/repeat/04_task_repeat.py | 10 ++++++++++ Module5/practice/repeat/05_task_repeat.py | 3 +++ Module5/practice/repeat/06_task_repeat.py | 10 ++++++++++ Module5/practice/repeat/07_task_repeat.py | 7 +++++++ Module5/practice/repeat/08_task_repeat.py | 5 +++++ Module5/practice/repeat/09_task_repeat.py | 8 ++++++++ 10 files changed, 70 insertions(+) create mode 100644 Module5/practice/modules/10_task_module.py create mode 100644 Module5/practice/repeat/01_task_repeat.py create mode 100644 Module5/practice/repeat/02_task_repeat.py create mode 100644 Module5/practice/repeat/03_task_repeat.py create mode 100644 Module5/practice/repeat/04_task_repeat.py create mode 100644 Module5/practice/repeat/05_task_repeat.py create mode 100644 Module5/practice/repeat/06_task_repeat.py create mode 100644 Module5/practice/repeat/07_task_repeat.py create mode 100644 Module5/practice/repeat/08_task_repeat.py create mode 100644 Module5/practice/repeat/09_task_repeat.py diff --git a/Module5/practice/modules/10_task_module.py b/Module5/practice/modules/10_task_module.py new file mode 100644 index 000000000..2555ada35 --- /dev/null +++ b/Module5/practice/modules/10_task_module.py @@ -0,0 +1,8 @@ +# При решении различных задач данной практики вы написали некоторое количество функций. В +# озможно, в дальнейшем вы захотите использовать эти функции повторно и в других своих программах. +# Организуем свою библиотеку функций. +# В корне вашего проект создайте папку Library(это будет пакет) +# В папке Library создайте файл my_lib.py(это и будет ваш библиотечный файл) +# Все функции разместите в файле my_lib.py +# Решения всех задач, использующих ваши функции, разместите в отдельном(отдельных - на ваше усмотрение) файле(файлах), +# а используемые функции импортируйте из my_lib.py diff --git a/Module5/practice/repeat/01_task_repeat.py b/Module5/practice/repeat/01_task_repeat.py new file mode 100644 index 000000000..3c9087478 --- /dev/null +++ b/Module5/practice/repeat/01_task_repeat.py @@ -0,0 +1,7 @@ +# Напишите функцию, создающую(возвращающую) список заданной длины заполненный +# произвольными целыми числами в заданном диапазоне. +# , где size - размер генерируемого списка c элементами в диапазоне от of до to. + +def gen_list(size, of, to): + pass + diff --git a/Module5/practice/repeat/02_task_repeat.py b/Module5/practice/repeat/02_task_repeat.py new file mode 100644 index 000000000..86bf6fda9 --- /dev/null +++ b/Module5/practice/repeat/02_task_repeat.py @@ -0,0 +1,7 @@ +# Является ли палиндромом? +# Напишите функцию, проверяющую является ли число палиндромом. +# палиндром - число одинаково читающееся слева направо, так и справа налево. +# Пример палиндрома: 12321 + +def palindrome(number): + pass \ No newline at end of file diff --git a/Module5/practice/repeat/03_task_repeat.py b/Module5/practice/repeat/03_task_repeat.py new file mode 100644 index 000000000..62166cb59 --- /dev/null +++ b/Module5/practice/repeat/03_task_repeat.py @@ -0,0 +1,5 @@ +# Найдите количество чисел являющихся палиндромами в диапазоне от a до b включительно +# Известно, что a и b целые положительные числа. + +a = ... +b = ... \ No newline at end of file diff --git a/Module5/practice/repeat/04_task_repeat.py b/Module5/practice/repeat/04_task_repeat.py new file mode 100644 index 000000000..d3bb8dfde --- /dev/null +++ b/Module5/practice/repeat/04_task_repeat.py @@ -0,0 +1,10 @@ +# Напишите функцию принимающую общее количество объектов(например, товаров) +# которые нужно отобразить и количество объектов, которые нужно отобразить на каждой странице. +# Функция должна вычислять количество страниц для отображения всех объектов. + +# Под пагинацией понимают показ ограниченной части информации на одной +# веб-странице и вывода списка остальных страниц. + +def pagination(num_items, items_on_page): + pass + diff --git a/Module5/practice/repeat/05_task_repeat.py b/Module5/practice/repeat/05_task_repeat.py new file mode 100644 index 000000000..bdb52b648 --- /dev/null +++ b/Module5/practice/repeat/05_task_repeat.py @@ -0,0 +1,3 @@ +# Дано общее количество объектов для отображения на веб-сайте и количество объектов на каждой странице. +# Вычислите, сколько объектов будет отображаться на последней странице сайта. + diff --git a/Module5/practice/repeat/06_task_repeat.py b/Module5/practice/repeat/06_task_repeat.py new file mode 100644 index 000000000..fb2a6634c --- /dev/null +++ b/Module5/practice/repeat/06_task_repeat.py @@ -0,0 +1,10 @@ +# Написать функцию, определяющую кол-во дней в году. +# В обычном году 365 дней, а в високосном - 366. Каждый четвертый год является високосным, +# кроме столетий, которые не делятся нацело на 400. +# Если год не делится нацело на 4, значит сразу можно сделать вывод, что он не является високосным. +# Если все же делится, то надо исключить столетия: они все нацело делятся на 100, но те, +# которые не делятся нацело на 400, високосными не являются. + +def days_in_year(num_year): + pass + diff --git a/Module5/practice/repeat/07_task_repeat.py b/Module5/practice/repeat/07_task_repeat.py new file mode 100644 index 000000000..721ce3707 --- /dev/null +++ b/Module5/practice/repeat/07_task_repeat.py @@ -0,0 +1,7 @@ +# Иван кладет в банк x рублей под a процентов годовых на n лет. Напишите функцию, которая возвращает число - +# сколько денег получит Иван в результате. + +def deposit(x, a, n): + pass +# функция принимает три числа и возвращает одно - итоговая сумма на счету Ивана. +# Проценты на вклад начисляются один раз в год. diff --git a/Module5/practice/repeat/08_task_repeat.py b/Module5/practice/repeat/08_task_repeat.py new file mode 100644 index 000000000..946e016a7 --- /dev/null +++ b/Module5/practice/repeat/08_task_repeat.py @@ -0,0 +1,5 @@ +# Вы решили сделать вклад в банк некоторой суммы на n лет. +# Банк вам предложил x% годовых с расчетом по простым процентам или +# y% годовых по сложным % с периодом капитализации 1 месяц. +# При заданных процентных ставках, определите какой из вкладов вам выгоднее на 5 лет. +# Примечание: формулы расчета простых и сложных процентов ищите на гуглодиске в папке с материалами. diff --git a/Module5/practice/repeat/09_task_repeat.py b/Module5/practice/repeat/09_task_repeat.py new file mode 100644 index 000000000..a870f2dbd --- /dev/null +++ b/Module5/practice/repeat/09_task_repeat.py @@ -0,0 +1,8 @@ +# Дан список с названиями фруктов, орехов и ягод. +# Определите, названий начинающихся на какую(какие) букву(буквы) больше всего. +# Известно, что названия могут начинаться как с заглавной, так и с маленькой буквы. +# Примеры +# Дано: [“ананас”, “кокос”, “Арбуз”, “киви”, “Клюква”, “банан”, “хурма”] +# Результат: фруктов на букву “к” больше. +# Дано: [“ананас”, “яблоко”, “Арбуз”, “киви”, “Клюква”, “банан”, “хурма”] +# Результат: фруктов на букву “к”и “а” больше. From dd3f0f6da6d349c67bd58885459ea0412254ce35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=AE=D1=80?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Thu, 17 Dec 2020 09:09:55 +0300 Subject: [PATCH 09/21] add task for module-6 --- Module6/practice/files/01_task_file.py | 6 ++++++ Module6/practice/files/02_task_file.py | 8 ++++++++ Module6/practice/files/03_task_file.py | 11 +++++++++++ Module6/practice/files/04_task_file.py | 5 +++++ 4 files changed, 30 insertions(+) create mode 100644 Module6/practice/files/01_task_file.py create mode 100644 Module6/practice/files/02_task_file.py create mode 100644 Module6/practice/files/03_task_file.py create mode 100644 Module6/practice/files/04_task_file.py diff --git a/Module6/practice/files/01_task_file.py b/Module6/practice/files/01_task_file.py new file mode 100644 index 000000000..33971019f --- /dev/null +++ b/Module6/practice/files/01_task_file.py @@ -0,0 +1,6 @@ +# Кассовый аппарат пишет цены всех проданных товаров в текстовый файл, наименование проданных товаров не имеет значение. +# По окончанию рабочего дня имеем файл data/sold.txt. +# Узнайте: +# 1. На какую сумму было продано товаров +# 2. Цену самого дорогого товара +# 3. Цену самого дешевого товара diff --git a/Module6/practice/files/02_task_file.py b/Module6/practice/files/02_task_file.py new file mode 100644 index 000000000..97b4859e4 --- /dev/null +++ b/Module6/practice/files/02_task_file.py @@ -0,0 +1,8 @@ +# Кассовый аппарат был доработан, теперь он пишет не только цены, но и тип проданных товаров. +# Файл data/items_sold.txt - продажи всех товаров за день. +# Каждая строка файла - покупка одного покупателя. +# Узнайте: +# 1. Какова общая выручка магазина +# 2. Какова выручка магазина по каждому типу товаров +# 3. Какой тип товара был продан на самую большую сумму +# 4. Сколько различных типов товаров было продано за день diff --git a/Module6/practice/files/03_task_file.py b/Module6/practice/files/03_task_file.py new file mode 100644 index 000000000..5b7116edf --- /dev/null +++ b/Module6/practice/files/03_task_file.py @@ -0,0 +1,11 @@ +# Дан файл ("data/fruits.txt") со списком фруктов. +# Записать в новые файлы все фрукты, начинающиеся с определенной буквы. +# Т.е. в одном файле будут все фрукты на букву “А”, во втором на “Б” и т.д. +# Файлы назвать соответственно. +# Пример имен файлов: fruits_А.txt, fruits_Б.txt, fruits_В.txt …. +# Важно! Обратите внимание, что нет фруктов, начинающихся с некоторых букв. +# Напишите универсальный код, который будет работать с любым списком фруктов и +# распределять по файлам в зависимости от первых букв, имеющихся в списке фруктов. +# Подсказка: +# Чтобы получить список больших букв русского алфавита: +# print(list(map(chr, range(ord('А'), ord('Я')+1)))) diff --git a/Module6/practice/files/04_task_file.py b/Module6/practice/files/04_task_file.py new file mode 100644 index 000000000..3d2748719 --- /dev/null +++ b/Module6/practice/files/04_task_file.py @@ -0,0 +1,5 @@ +# Дана ведомость расчета заработной платы (файл "data/workers"). +# Рассчитайте зарплату всех работников, зная что они получат полный оклад, +# если отработают норму часов. Если же они отработали меньше нормы, то их ЗП уменьшается пропорционально, +# а за каждый час переработки они получают удвоенную ЗП, пропорциональную норме. +# Кол-во часов, которые были отработаны, указаны в файле "data/hours_of" From 54b29ac8c891c90b4115fd105fb76d9182fb4257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=AE=D1=80?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Thu, 17 Dec 2020 09:15:08 +0300 Subject: [PATCH 10/21] add files for task module-6 --- Module6/practice/files/data/fruits.txt | 563 +++++++++++++++++++++ Module6/practice/files/data/hours_of.txt | 7 + Module6/practice/files/data/items_sold.txt | 6 + Module6/practice/files/data/sold.txt | 2 + Module6/practice/files/data/workers.txt | 7 + 5 files changed, 585 insertions(+) create mode 100644 Module6/practice/files/data/fruits.txt create mode 100644 Module6/practice/files/data/hours_of.txt create mode 100644 Module6/practice/files/data/items_sold.txt create mode 100644 Module6/practice/files/data/sold.txt create mode 100644 Module6/practice/files/data/workers.txt diff --git a/Module6/practice/files/data/fruits.txt b/Module6/practice/files/data/fruits.txt new file mode 100644 index 000000000..e55e35623 --- /dev/null +++ b/Module6/practice/files/data/fruits.txt @@ -0,0 +1,563 @@ +Абиу + +Абрикос + +Авокадо + +Айва + +Аки + +Алиберция + +Алыча + +Амбарелла + +Американский абрикос + +Американский орех + +Ананас + +Аннона горная + +Аннона колючая + +Аннона сетчатая + +Аннона черимола + +Аннона чешуйчатая + +Антильский крыжовник + +Апельсин + +Арабика + +Араза + +Арахис + +Арбуз обыкновенный + +Астрокариум колючий + +Атимойя + +Африканский колючий огурец + +Африканский тамаринд + +Бакау + +Баклажан + +Балия + +Бананы + +Баобаб + +Барбадин (Большая гранадилла) + +Барбадосская вишня + +Бархатное яблоко + +Баэль + +Белая сапота + +Бергамот + +Билимби + +Бирсонима + +Блигия вкусная + +Большой змеиный фрукт + +Бразильский орех + +Бычье сердце + +Вампи + +Вангерия + +Ваниль + +Виноград + +Воаванга + +Водяное(восковое) яблоко + +Гандария + +Генипа + +Гибискус съедобный + +Гнетум гнемон + +Голубиная слива + +Голубой квандонг + +Горлянка + +Горький огурец + +Гранадилла (Маракуйа) + +Гранадилла большая (Барбадин) + +Гранадилла сладкая + +Гранат + +Грейпфрут + +Грумичама + +Груша + +Гуайява земляничная + +Гуайява коста-риканская + +Гуайява красная + +Гуайява обыкновенная + +Гуарана + +Давидсония + +Дамские пальчики + +Деревянное яблоко + +Десертный квандонг + +Джекфрут + +Древесная калебаса + +Дуку + +Дуриан + +Дуриан цибетиновый + +Дынная груша + +Дынное дерево + +Дыня обыкновенная + +Звездчатое яблоко + +Земляничная груша + +Земляничный томат + +Земляной орех + +Зизифус мавританский + +Золотая слива + +Золотистый апельсин + +Индийские бобы + +Индийский инжир + +Индийский миндаль + +Индийское розовое яблоко + +Инжир + +Кабачки + +Каинито + +Какао + +Кактус инжировый + +Каламондин + +Калебаса + +Канариум яйцевидный + +Капский крыжовник + +Карамбола + +Кас + +Квини + +Квислендский орех + +Кепель + +Кетамбилла + +Кивано + +Киви + +Китайская калебаса + +Клементин + +Кокколоба ягодоносная + +Кокос + +Корилла + +Кофейные деревья + +Кранжи + +Кумкват овальный + +Купуасу + +Курбарил + +Кустовой горошек + +Лайм настоящий + +Лангсат + +Лансиум домашний + +Леуцена светлоголовчатая + +Либерика + +Ликания + +Лимон грубокожистый + +Лимон обыкновенный + +Лимон Мейера + +Лимонная осина + +Личи + +Лобия + +Ложный мангустан + +Лукума + +Луло + +Люффа остроребристая + +Маболо + +Мадагаскарская слива + +Макадамия цельнолистная + +Малабарская тыква + +Малабарский апельсин + +Малайское яблоко + +Малуко + +Мальпигия гранатолистная + +Маммея американская + +Мамончилло (Лайм испанский) + +Манго благоухающее + +Манго великолепное + +Манго индийское + +Манго резко пахнущее + +Мангостан + +Мангустан + +Мандарин + +Манилкара + +Маракуйя + +Мармеладный плод + +Марула + +Мауриция извилистая + +Маш + +Мексиканская земляная вишня + +Мексиканский огурец + +Мелинжо + +Моква + +Момбин желтый + +Момбин красный + +Момордика + +Моринда + +Мунду + +Мускатный орех + +Мушмула японская + +Наранхилла + +Ням-ням + +Обезьяний хлеб + +Огурец + +Огуречное дерево + +Орех кешью + +Пальма катеху + +Пальма кокосовая + +Пальма масличная африканская + +Пальма персиковая + +Пальчиковый лайм + +Папайя + +Папайя горная + +Папеда + +Паприка + +Пара-гуайява + +Паркия красивая + +Пассифлора съедобная + +Пекуи + +Пепино + +Перец + +Перец кайенский + +Перец стручковый + +Персик + +Перуанская вишня + +Питайя + +Питомба + +Пиши + +Помело + +Померанец + +Помидор + +Помпельмус + +Понцирус (несъедобный плод) + +Приморский виноград + +Путерия + +Пуласан + +Ракум-салакка + +Рамбай + +Рамбутан + +Робуста + +Розовое яблоко + +Роллиния слизистая + +Салакка + +Салакка скученная + +Саламандровое дерево + +Сантол + +Саподилла + +Сатсума + +Сахарное яблоко + +Сахарный горошек + +Свечное дерево + +Свити + +Сизигиум аквеум + +Сизигиум малаккский + +Сизигиум ямбоза + +Сингапурский миндаль + +Слива + +Слива какаду + +Слоновье яблоко + +Сметанное яблоко + +Сонсоя + +Соя + +Спаржевая фасоль + +Страстоцвет + +Суринамская вишня + +Съедобный таитянский орех + +Таитянское яблоко + +Такако + +Тамарилло + +Тамаринд + +Танжерин + +Терминалия катаппа + +Томат настоящий + +Томатное дерево + +Тукума + +Тупа + +Тыква бутылочная + +Тыква восковая + +Тыква мускатная + +Тыква обыкновенная + +Тыква фиголистная + +Тыквенное дерево + +Фейхоа + +Ферония лимонная + +Ферония слоновая + +Физалис земляничный + +Филиппинское розовое яблоко + +Филлантус кислый + +Финик + +Флакурция + +Хлебное дерево + +Хлебные бобы + +Хурма восточная (японская) + +Цейлонский крыжовник + +Циклантера + +Цуккини + +Чайот + +Чампедак + +Черешня + +Черимойя + +Черная гуайява + +Черная сапота + +Черная хурма + +Черный тамаринд + +Чили + +Чилибуха колючая + +Чупа + +Шоколадное дерево + +Яблоко + +Яблоко-кажу + +Яботикаба + +Ямайская вишня diff --git a/Module6/practice/files/data/hours_of.txt b/Module6/practice/files/data/hours_of.txt new file mode 100644 index 000000000..7e3c12c36 --- /dev/null +++ b/Module6/practice/files/data/hours_of.txt @@ -0,0 +1,7 @@ +Имя Фамилия Отработано часов +Петр Алексеев 120 +Матвей Бурин 160 +Василий Сидоров 122 +Альберт Грибов 118 +Василий Иванов 180 +Петр Дурин 80 \ No newline at end of file diff --git a/Module6/practice/files/data/items_sold.txt b/Module6/practice/files/data/items_sold.txt new file mode 100644 index 000000000..06c231227 --- /dev/null +++ b/Module6/practice/files/data/items_sold.txt @@ -0,0 +1,6 @@ +fruits:45.10 bread:25.10 icecream:120.90 juice:80 vegetables:72.40 +bread:42.20 juice:42 meat:280.20 +vegetables:28.10 fruits:142.80 +icecream:40.75 juice:24.50 canned_food:137 +bread:78.40 meat:450.20 +fruits:58.54 \ No newline at end of file diff --git a/Module6/practice/files/data/sold.txt b/Module6/practice/files/data/sold.txt new file mode 100644 index 000000000..5b9274aae --- /dev/null +++ b/Module6/practice/files/data/sold.txt @@ -0,0 +1,2 @@ +23.45 123 17.45 200 221.10 265.0 +78.4 167 24.98 764.14 100 \ No newline at end of file diff --git a/Module6/practice/files/data/workers.txt b/Module6/practice/files/data/workers.txt new file mode 100644 index 000000000..78b2eaf09 --- /dev/null +++ b/Module6/practice/files/data/workers.txt @@ -0,0 +1,7 @@ +Имя Фамилия Зарплата Должность Норма_часов +Петр Алексеев 22000 прораб 140 +Василий Иванов 18000 плотник 150 +Матвей Бурин 42000 директор 150 +Василий Сидоров 17500 плотник 140 +Петр Дурин 20000 разнорабочий 160 +Альберт Грибов 20000 разнорабочий 160 \ No newline at end of file From 61ca711e1328a232228f64e821e0f84a3c4c16e8 Mon Sep 17 00:00:00 2001 From: boo-learn Date: Thu, 17 Dec 2020 21:55:17 +0300 Subject: [PATCH 11/21] add tasks for modules 7,8,9 --- .../practice/exceptions/01_task_except.py | 6 ++++++ .../practice/exceptions/02_task_except.py | 6 ++++++ .../practice/exceptions/03_task_except.py | 7 +++++++ .../practice/exceptions/04_task_except.py | 4 ++++ Module8/practice/decorators/01_task_decor.py | 9 +++++++++ Module8/practice/decorators/02_task_decor.py | 3 +++ Module8/practice/hard/01_task_hard.py | 7 +++++++ Module8/practice/hard/02_task_hard.py | 19 +++++++++++++++++++ Module8/practice/hard/03_task_hard.py | 19 +++++++++++++++++++ Module8/practice/structs/01_task_struct.py | 3 +++ Module8/practice/structs/02_task_struct.py | 7 +++++++ Module8/practice/structs/03_task_struct.py | 6 ++++++ Module8/practice/structs/04_task_struct.py | 4 ++++ Module8/practice/structs/05_task_struct.py | 7 +++++++ Module8/practice/structs/06_task_struct.py | 10 ++++++++++ Module8/practice/structs/07_task_struct.py | 2 ++ Modulr9/practice/tasks.md | 3 +++ 17 files changed, 122 insertions(+) create mode 100644 Module7/examples/practice/exceptions/01_task_except.py create mode 100644 Module7/examples/practice/exceptions/02_task_except.py create mode 100644 Module7/examples/practice/exceptions/03_task_except.py create mode 100644 Module7/examples/practice/exceptions/04_task_except.py create mode 100644 Module8/practice/decorators/01_task_decor.py create mode 100644 Module8/practice/decorators/02_task_decor.py create mode 100644 Module8/practice/hard/01_task_hard.py create mode 100644 Module8/practice/hard/02_task_hard.py create mode 100644 Module8/practice/hard/03_task_hard.py create mode 100644 Module8/practice/structs/01_task_struct.py create mode 100644 Module8/practice/structs/02_task_struct.py create mode 100644 Module8/practice/structs/03_task_struct.py create mode 100644 Module8/practice/structs/04_task_struct.py create mode 100644 Module8/practice/structs/05_task_struct.py create mode 100644 Module8/practice/structs/06_task_struct.py create mode 100644 Module8/practice/structs/07_task_struct.py create mode 100644 Modulr9/practice/tasks.md diff --git a/Module7/examples/practice/exceptions/01_task_except.py b/Module7/examples/practice/exceptions/01_task_except.py new file mode 100644 index 000000000..38878a016 --- /dev/null +++ b/Module7/examples/practice/exceptions/01_task_except.py @@ -0,0 +1,6 @@ +# Дан прямоугольник размером n×m. Напишите программу, вычисляющую, сколько квадратов +# со стороной m от него получится отрезать. + +# На вход программе подается строка формата nxm (x - латинская буква икс). +# Пример входных данных: 12x6 +# Если данные вводятся в неверном формате, сообщить об этом и запросить ввод заново. diff --git a/Module7/examples/practice/exceptions/02_task_except.py b/Module7/examples/practice/exceptions/02_task_except.py new file mode 100644 index 000000000..663f36438 --- /dev/null +++ b/Module7/examples/practice/exceptions/02_task_except.py @@ -0,0 +1,6 @@ +# Даны номер месяца и номер года. Найдите сколько дней в этом месяце. +# При вводе неверного номера месяца или некорректного значения программа должна сообщить об ошибке +# и попросить ввести корректные данные. Также необходимо учесть високосный или не високосный год. +# Алгоритм проверки на високосный год оформите в виде отдельной функции. +# +# Входная строка содержит два целых числа – номер месяца (возможно, неправильный) и номер года. diff --git a/Module7/examples/practice/exceptions/03_task_except.py b/Module7/examples/practice/exceptions/03_task_except.py new file mode 100644 index 000000000..65d95bae5 --- /dev/null +++ b/Module7/examples/practice/exceptions/03_task_except.py @@ -0,0 +1,7 @@ +# Дана строка из пяти целых чисел, разделенных пробелом. +# Пример входных данных: "2 12 -45 7 10" +# Напишите программу, которая находит среди них минимальное положительное число. +# Если таких чисел несколько - вывести любое из них. + +# При решении задачи требуется учесть формат входных данных. +# Если входные данные некорректные, сообщить об этом. diff --git a/Module7/examples/practice/exceptions/04_task_except.py b/Module7/examples/practice/exceptions/04_task_except.py new file mode 100644 index 000000000..de64c3bc6 --- /dev/null +++ b/Module7/examples/practice/exceptions/04_task_except.py @@ -0,0 +1,4 @@ +# Даны два уравнения прямых вида у=kx+b и виде строки. Проверить, пересекаются ли данные прямые? +# Примеры уравнений: "y = 2x + 4" "y = -12x -12" + +# Проверьте входные данные на корректность diff --git a/Module8/practice/decorators/01_task_decor.py b/Module8/practice/decorators/01_task_decor.py new file mode 100644 index 000000000..fcee47749 --- /dev/null +++ b/Module8/practice/decorators/01_task_decor.py @@ -0,0 +1,9 @@ +# Напишите функцию-декоратор, оборачивающую результат другой функции в прямоугольник звездочек. +# Пояснение: если декорируемая функция возвращает “Привет”, то декоратор должен изменить вывод на: +# ******** +# *Привет* +# ******** +# **** +# *23* +# **** +# (кол-во звездочек зависит от длины возвращаемого значения) diff --git a/Module8/practice/decorators/02_task_decor.py b/Module8/practice/decorators/02_task_decor.py new file mode 100644 index 000000000..5832902a1 --- /dev/null +++ b/Module8/practice/decorators/02_task_decor.py @@ -0,0 +1,3 @@ +# Напишите функцию декоратор, которая округляет значение декорируемой функции до двух знаков после запятой. +# Если округление невозможно, например там строка, или не требуется(целое число) то оставляем результат без изменений. +# Примечание: используйте встроенную функцию round() diff --git a/Module8/practice/hard/01_task_hard.py b/Module8/practice/hard/01_task_hard.py new file mode 100644 index 000000000..0656e15a8 --- /dev/null +++ b/Module8/practice/hard/01_task_hard.py @@ -0,0 +1,7 @@ +# "Банкомат" +# В банкомате есть купюры 5000, 2000, 1000 и 500 рублей. +# Напишите функцию, которая будет рассчитывать количество купюр, которыми можно будет выдать +# запрошенную пользователем сумму и возвращать ее в виде словаря, ключами в котором будут номиналы банкнот, +# а значениями кол-во банкнот. Если пользователь запросил некорректную сумму, +# нужно вывести дружественное сообщение об ошибке. +# Результат работы программы - текстовый отчет о номиналах и количестве купюр. diff --git a/Module8/practice/hard/02_task_hard.py b/Module8/practice/hard/02_task_hard.py new file mode 100644 index 000000000..dab5df514 --- /dev/null +++ b/Module8/practice/hard/02_task_hard.py @@ -0,0 +1,19 @@ +# "Перевернутая башня" +# Вавилонцы решили построить удивительную башню — расширяющуюся кверху и содержащую бесконечное число этажей и комнат. +# Она устроена следующим образом — на первом этаже одна комната, +# затем идет два этажа на каждом из которых по две комнаты, +# затем идёт три этажа, на каждом из которых по три комнаты и так далее: +# ... ... ... +# 15 16 17 18 +# 12 13 14 +# 9 10 11 +# 6 7 8 +# 4 5 +# 2 3 +# 1 + +# Эту башню решили оборудовать лифтом --- и вот задача: нужно научится по номеру комнаты определять, +# на каком этаже она находится и какая она по счету слева на этом этаже. + +# Дано целое число - номер комнаты +# Вывести два целых числа — номер этажа и ее порядковый номер слева на этаже. diff --git a/Module8/practice/hard/03_task_hard.py b/Module8/practice/hard/03_task_hard.py new file mode 100644 index 000000000..b769992a1 --- /dev/null +++ b/Module8/practice/hard/03_task_hard.py @@ -0,0 +1,19 @@ +# "Негостеприимные панды" +# В панда парке был очень плохой управляющий. Из-за его ошибок вышло так, что многие клетки с пандами переполнены, +# многие не заполнены, а есть и вовсе пустые. Пришел новый управляющий и захотел решить создавшуюся проблему, +# перераспределив панд по клеткам. + +# Но управляющий столкнулся с двумя проблемами: +# Общество защиты животных запретило выселять панд из клеток, если клетка не переполнена; +# Панды оказались не очень-то дружелюбны к новым соседям и больше одного нового соседа не принимают. +# Зато в пустые клетки можно переселять панд из разных клеток. + +# Напишите программу, которая определяет сколько панд были "лишними" в своих клетках (суммарное переполнение клеток). +# И какое суммарное переполнение получится, после массового переселения панд. + +# Алгоритм переселения нужно разработать самостоятельно с учетом ограничений. + +# Формат входных данных +# n - суммарное количество клеток (4 ≤ n ≤ 100) +# Pn - количество панд в каждой клетке (0 ≤ Pn ≤ 10) +# Sn - количество мест в каждой клетке (1 ≤ Sn ≤10) diff --git a/Module8/practice/structs/01_task_struct.py b/Module8/practice/structs/01_task_struct.py new file mode 100644 index 000000000..950b15aec --- /dev/null +++ b/Module8/practice/structs/01_task_struct.py @@ -0,0 +1,3 @@ +# Бегун проводил ежедневные тренировки и записывал расстояния которые пробел за занятия в метрах: +distances = [600, 755, 321.6, 1234, 231, 456.6, 4561, 1200, 456] +# Переведите все значения в футы (получить и вывести новый список) diff --git a/Module8/practice/structs/02_task_struct.py b/Module8/practice/structs/02_task_struct.py new file mode 100644 index 000000000..4eeeafb34 --- /dev/null +++ b/Module8/practice/structs/02_task_struct.py @@ -0,0 +1,7 @@ +# Дан список, заполненный произвольными целыми числами. +# Примечание: для генерации списка используйте функцию написанную на одном из прошлых занятий. +# Получите новый список, элементами которого будут: +# 1. неповторяющиеся(уникальные) элементы исходного списка: +# например, lst = [1, 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 2, 4, 5, 6] +# 2. элементы исходного списка, которые не имеют повторений(встречаются только один раз): +# например, lst = [1 , 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 4, 6] diff --git a/Module8/practice/structs/03_task_struct.py b/Module8/practice/structs/03_task_struct.py new file mode 100644 index 000000000..928ade23b --- /dev/null +++ b/Module8/practice/structs/03_task_struct.py @@ -0,0 +1,6 @@ +# Дан список, заполненный произвольными целыми числами. +# Примечание: для генерации списка используйте функцию. +# Найдите: +# 1. Количество элементов списка не превышающие 10 +# 2. Сумму всех положительных элементов списка +# 3. Среднее арифметическое всех четных элементов diff --git a/Module8/practice/structs/04_task_struct.py b/Module8/practice/structs/04_task_struct.py new file mode 100644 index 000000000..d1ca75147 --- /dev/null +++ b/Module8/practice/structs/04_task_struct.py @@ -0,0 +1,4 @@ +# Даны два словаря: +dictionary_1 = {'a': 300, 'b': 400} +dictionary_2 = {'c': 500, 'd': 600} +# Объедините их в один diff --git a/Module8/practice/structs/05_task_struct.py b/Module8/practice/structs/05_task_struct.py new file mode 100644 index 000000000..02dcb2e91 --- /dev/null +++ b/Module8/practice/structs/05_task_struct.py @@ -0,0 +1,7 @@ +# Создайте словарь из строки следующим образом: +# в качестве ключей возьмите буквы строки, +# а значениями пусть будут числа, соответствующие количеству вхождений данной буквы в строку. + +# Пример: для строки 'pythonist' +# Получим словарь: {'p': 1, 'y': 1, 't': 2, 'h': 1, 'o': 1, 'n': 1, 's': 1, 'i': 1} +# Примечание: т.к. ключи неупорядочены, порядок следования ключей может быть произвольным diff --git a/Module8/practice/structs/06_task_struct.py b/Module8/practice/structs/06_task_struct.py new file mode 100644 index 000000000..0c99708e9 --- /dev/null +++ b/Module8/practice/structs/06_task_struct.py @@ -0,0 +1,10 @@ +# Вы написали программу для работы с сотрудниками и вам ее необходимо протестировать. +# Для теста нужны большие списки сотрудников (100+). +# Вбивать вручную столько данных займет очень много времени. +# Напишите программу, генерирующую списки сотрудников со следующими параметрами: +# 1. Имя +# 2. Фамилия +# 3. Возраст +# 4. Профессия +# 5. Зарплата +# Примечание: Данные сгенерированных сотрудников могут повторяться diff --git a/Module8/practice/structs/07_task_struct.py b/Module8/practice/structs/07_task_struct.py new file mode 100644 index 000000000..631a3395c --- /dev/null +++ b/Module8/practice/structs/07_task_struct.py @@ -0,0 +1,2 @@ +# Доработайте предыдущую программу так, чтобы каждый сгенерированный сотрудник +# был уникальным(не должны повторяться комбинации Имя + Фамилия). diff --git a/Modulr9/practice/tasks.md b/Modulr9/practice/tasks.md new file mode 100644 index 000000000..60f3e6cac --- /dev/null +++ b/Modulr9/practice/tasks.md @@ -0,0 +1,3 @@ +Задания сюда еще не доехали и + +находятся пока тут: https://docs.google.com/document/d/1j8tY9QMHD_isSABoK0Ldb34aentFtuQHjJBOGTQ9q40/edit?usp=sharing \ No newline at end of file From 79d08438e23e55c3ded6868e5cc5ff1f62f3655e Mon Sep 17 00:00:00 2001 From: boo-learn Date: Thu, 17 Dec 2020 22:00:01 +0300 Subject: [PATCH 12/21] fix add module-7 --- Module7/examples/4_exceptions_tree.py | 99 +++++++++++++++++++ .../practice/exceptions/01_task_except.py | 0 .../practice/exceptions/02_task_except.py | 0 .../practice/exceptions/03_task_except.py | 0 .../practice/exceptions/04_task_except.py | 0 5 files changed, 99 insertions(+) create mode 100644 Module7/examples/4_exceptions_tree.py rename Module7/{examples => }/practice/exceptions/01_task_except.py (100%) rename Module7/{examples => }/practice/exceptions/02_task_except.py (100%) rename Module7/{examples => }/practice/exceptions/03_task_except.py (100%) rename Module7/{examples => }/practice/exceptions/04_task_except.py (100%) diff --git a/Module7/examples/4_exceptions_tree.py b/Module7/examples/4_exceptions_tree.py new file mode 100644 index 000000000..c36bee126 --- /dev/null +++ b/Module7/examples/4_exceptions_tree.py @@ -0,0 +1,99 @@ +import inspect +# our treeClass function +def treeClass(cls, ind=0): + # print name of the class + print('-' * ind, cls.__name__) + + # iterating through subclasses + for i in cls.__subclasses__(): + treeClass(i, ind + 3) + + +print("Hierarchy for Built-in exceptions is : ") + +# inspect.getmro() Return a tuple +# of class cls’s base classes. + +# building a tree hierarchy +inspect.getclasstree(inspect.getmro(BaseException)) + +# function call +treeClass(BaseException) + +# BaseException +# --- Exception +# ------ TypeError +# ------ StopAsyncIteration +# ------ StopIteration +# ------ ImportError +# --------- ModuleNotFoundError +# --------- ZipImportError +# ------ OSError +# --------- ConnectionError +# ------------ BrokenPipeError +# ------------ ConnectionAbortedError +# ------------ ConnectionRefusedError +# ------------ ConnectionResetError +# --------- BlockingIOError +# --------- ChildProcessError +# --------- FileExistsError +# --------- FileNotFoundError +# --------- IsADirectoryError +# --------- NotADirectoryError +# --------- InterruptedError +# --------- PermissionError +# --------- ProcessLookupError +# --------- TimeoutError +# --------- UnsupportedOperation +# ------ EOFError +# ------ RuntimeError +# --------- RecursionError +# --------- NotImplementedError +# --------- _DeadlockError +# ------ NameError +# --------- UnboundLocalError +# ------ AttributeError +# ------ SyntaxError +# --------- IndentationError +# ------------ TabError +# ------ LookupError +# --------- IndexError +# --------- KeyError +# --------- CodecRegistryError +# ------ ValueError +# --------- UnicodeError +# ------------ UnicodeEncodeError +# ------------ UnicodeDecodeError +# ------------ UnicodeTranslateError +# --------- UnsupportedOperation +# ------ AssertionError +# ------ ArithmeticError +# --------- FloatingPointError +# --------- OverflowError +# --------- ZeroDivisionError +# ------ SystemError +# --------- CodecRegistryError +# ------ ReferenceError +# ------ MemoryError +# ------ BufferError +# ------ Warning +# --------- UserWarning +# --------- DeprecationWarning +# --------- PendingDeprecationWarning +# --------- SyntaxWarning +# --------- RuntimeWarning +# --------- FutureWarning +# --------- ImportWarning +# --------- UnicodeWarning +# --------- BytesWarning +# --------- ResourceWarning +# ------ _OptionError +# ------ error +# ------ Verbose +# ------ Error +# ------ TokenError +# ------ StopTokenizing +# ------ EndOfBlock +# --- GeneratorExit +# --- SystemExit +# --- KeyboardInterrupt diff --git a/Module7/examples/practice/exceptions/01_task_except.py b/Module7/practice/exceptions/01_task_except.py similarity index 100% rename from Module7/examples/practice/exceptions/01_task_except.py rename to Module7/practice/exceptions/01_task_except.py diff --git a/Module7/examples/practice/exceptions/02_task_except.py b/Module7/practice/exceptions/02_task_except.py similarity index 100% rename from Module7/examples/practice/exceptions/02_task_except.py rename to Module7/practice/exceptions/02_task_except.py diff --git a/Module7/examples/practice/exceptions/03_task_except.py b/Module7/practice/exceptions/03_task_except.py similarity index 100% rename from Module7/examples/practice/exceptions/03_task_except.py rename to Module7/practice/exceptions/03_task_except.py diff --git a/Module7/examples/practice/exceptions/04_task_except.py b/Module7/practice/exceptions/04_task_except.py similarity index 100% rename from Module7/examples/practice/exceptions/04_task_except.py rename to Module7/practice/exceptions/04_task_except.py From b8c25d926916abb24e22e0ce35170cb74814fc26 Mon Sep 17 00:00:00 2001 From: boo-learn Date: Fri, 25 Dec 2020 14:47:58 +0300 Subject: [PATCH 13/21] add tasks for Module-6 --- Module6/home_work/01_hw_file.py | 8 +++ Module6/home_work/02_hw_file.py | 6 +++ Module6/home_work/03_hw_file.py | 5 ++ Module6/home_work/data/info.txt | 13 +++++ Module6/home_work/data/limericks.txt | 77 ++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 Module6/home_work/01_hw_file.py create mode 100644 Module6/home_work/02_hw_file.py create mode 100644 Module6/home_work/03_hw_file.py create mode 100644 Module6/home_work/data/info.txt create mode 100644 Module6/home_work/data/limericks.txt diff --git a/Module6/home_work/01_hw_file.py b/Module6/home_work/01_hw_file.py new file mode 100644 index 000000000..ccae73148 --- /dev/null +++ b/Module6/home_work/01_hw_file.py @@ -0,0 +1,8 @@ +# Напишите функцию log() принимающую в качестве аргумента строку и дописывающую это строку в конец файла + +def log(text, file="log.txt"): + pass + + +log("hello world") # дописывает "hello world" в конец файла log.txt +log("message", "log01.txt") # дописывает "message" в конец файла log01.txt diff --git a/Module6/home_work/02_hw_file.py b/Module6/home_work/02_hw_file.py new file mode 100644 index 000000000..b4d611a0c --- /dev/null +++ b/Module6/home_work/02_hw_file.py @@ -0,0 +1,6 @@ +# Дан файл data/limericks.txt с лимериками(короткими стихотворениями) + +# 1. Выведите содержимое файла в консоль +# 2. Узнайте количество непробельный символов в данном файле +# 3. Узнайте количество стихотворений, если известно, +# что каждое стихотворение отделяется пустой строкой от предыдущего diff --git a/Module6/home_work/03_hw_file.py b/Module6/home_work/03_hw_file.py new file mode 100644 index 000000000..c29e6471d --- /dev/null +++ b/Module6/home_work/03_hw_file.py @@ -0,0 +1,5 @@ +# Дан файл data/info.txt, в каждой строке которого содержится строка или целое число +# Найдите сумму всех чисел, пропуская все строки содержащие не числовые значения + +with open("data/info.txt", "r") as f: + pass diff --git a/Module6/home_work/data/info.txt b/Module6/home_work/data/info.txt new file mode 100644 index 000000000..3e78cc5c5 --- /dev/null +++ b/Module6/home_work/data/info.txt @@ -0,0 +1,13 @@ +hey +12 +34 +-45 +hello +37 +and +67? +--94 +15 +or +48 +by \ No newline at end of file diff --git a/Module6/home_work/data/limericks.txt b/Module6/home_work/data/limericks.txt new file mode 100644 index 000000000..510267bb0 --- /dev/null +++ b/Module6/home_work/data/limericks.txt @@ -0,0 +1,77 @@ +Жил на свете старик в бороде. +Говорил он: «Я знал: быть беде. +Две совы, три чижа +И четыре стрижа +Свили гнезда в моей бороде». + +Миловидная леди из гавани +Сшила шляпку по моде недавней. +Но размер и расцветка +Этой шляпы нередко +Удручали красотку из гавани. + +Худощавая мисс из Афин +Была дверью расплющена в блин. +Но вскричала спокойно: +«Это вовсе не больно!» +Та отважная мисс из Афин. + +Симпатичная леди с Атлантики, +Завязавши ботинки на бантики, +Знай гуляла по пристани +Со щенками пятнистыми +И порочила климат Атлантики. + +Длинноносый старик из Литвы +Говорил: «Если скажете вы, +Что мой нос длинноват, +В чем же я виноват — +Ведь не я так считаю, а вы!» + +Старый джентльмен на склоне холма +Был подвижен и прыток весьма: +Он, не знаясь со знатью, +Бегал в тещином платье +От подножья к вершине холма. + +К привлекательной леди из Капуи +Часто птицы садились на шляпу, и +Говорила с любовью: +«Пусть сидят на здоровье!» +Та приятная леди из Капуи. + +Непослушную внучку из Йены +Бабка сжечь собралась как полено. +Но заметила тонко: +«А не сжечь ли котенка?» +Невозможная внучка из Йены. + +Безрассудный старик из Остравы +Вел себя неумно и нездраво: +Даже будучи сытым, +Груши ел с аппетитом +Тот унылый старик из Остравы. + +Музыкальный старик на Меконге +Без конца упражнялся на гонге. +Все кричат: «Где закон, +Чтоб такие, как он, +День и ночь не играли на гонге?» + +Экспансивная леди из Ланса +Не сумела прервать реверанса +И, как штопор, крутилась, +Пока в пол не ввинтилась, +Опечалив всех жителей Ланса. + +Старика, что сидел на осине, +Муха мучила невыносимо, +И жужжала та муха +Прямо в самое ухо +Старику, что сидел на осине. + +К удалому флейтисту из Конго +Раз в сапог заползла анаконда. +Но настолько отвратно +Он играл, что обратно +Через час уползла анаконда. \ No newline at end of file From e9bfd6ffa96036048e6c2e09759b595581d1b8f7 Mon Sep 17 00:00:00 2001 From: boo-learn Date: Tue, 19 Jan 2021 16:28:07 +0300 Subject: [PATCH 14/21] add tasks for Module-2 --- Module2/practice/if_else/01_task_if_else.py | 6 ++++++ Module2/practice/if_else/02_task_if_else.py | 5 +++++ Module2/practice/if_else/03_task_if_else.py | 5 +++++ Module2/practice/if_else/04_task_if_else.py | 7 +++++++ Module2/practice/if_else/05_task_if_else.py | 6 ++++++ Module2/practice/if_else/06_task_if_else.py | 10 ++++++++++ Module2/practice/while/01_task_while.py | 5 +++++ Module2/practice/while/02_task_while.py | 5 +++++ Module2/practice/while/03_task_while.py | 12 ++++++++++++ Module2/practice/while/04_task_while.py | 9 +++++++++ Module2/practice/while/05_task_while.py | 20 ++++++++++++++++++++ Module2/practice/while/06_task_while.py | 19 +++++++++++++++++++ 12 files changed, 109 insertions(+) create mode 100644 Module2/practice/if_else/01_task_if_else.py create mode 100644 Module2/practice/if_else/02_task_if_else.py create mode 100644 Module2/practice/if_else/03_task_if_else.py create mode 100644 Module2/practice/if_else/04_task_if_else.py create mode 100644 Module2/practice/if_else/05_task_if_else.py create mode 100644 Module2/practice/if_else/06_task_if_else.py create mode 100644 Module2/practice/while/01_task_while.py create mode 100644 Module2/practice/while/02_task_while.py create mode 100644 Module2/practice/while/03_task_while.py create mode 100644 Module2/practice/while/04_task_while.py create mode 100644 Module2/practice/while/05_task_while.py create mode 100644 Module2/practice/while/06_task_while.py diff --git a/Module2/practice/if_else/01_task_if_else.py b/Module2/practice/if_else/01_task_if_else.py new file mode 100644 index 000000000..77c5a0a9b --- /dev/null +++ b/Module2/practice/if_else/01_task_if_else.py @@ -0,0 +1,6 @@ +# Дано вещественное число x. Проверьте, является ли оно положительным или отрицательным. +# Формат входных данных: дано одно вещественное число number. Гарантируется, что number ≠ 0. +# Формат выходных данных: Требуется вывести тип числа текстом + +number = float(input()) # Считываем вещественное число +# TODO: your code here diff --git a/Module2/practice/if_else/02_task_if_else.py b/Module2/practice/if_else/02_task_if_else.py new file mode 100644 index 000000000..33c5ac798 --- /dev/null +++ b/Module2/practice/if_else/02_task_if_else.py @@ -0,0 +1,5 @@ +# Дано целое число. Определить, заканчивается ли оно число цифрой 5? +# Формат входных данных: Целое положительно число +# Формат выходных данных: Если число оканчивается цифрой 5, вывести «YES», в противном случае — вывести «NO». + +# TODO: your code here diff --git a/Module2/practice/if_else/03_task_if_else.py b/Module2/practice/if_else/03_task_if_else.py new file mode 100644 index 000000000..6fd7713f1 --- /dev/null +++ b/Module2/practice/if_else/03_task_if_else.py @@ -0,0 +1,5 @@ +# Дан треугольник со сторонами a, b и c. Определите, является ли он равнобедренным. +# Формат входных данных: дано три натуральных числа. Гарантируется, что отрезки с данными длинами образуют треугольник. +# Формат выходных данных: Выведите «YES», если треугольник равнобедренный, и «NO» в противном случае. + +# TODO: your code here diff --git a/Module2/practice/if_else/04_task_if_else.py b/Module2/practice/if_else/04_task_if_else.py new file mode 100644 index 000000000..36ee6da5c --- /dev/null +++ b/Module2/practice/if_else/04_task_if_else.py @@ -0,0 +1,7 @@ +# Дано целое число. +# Если оно делится на 3 без остатка - вывести ”Foo”, +# если делится на 5 - вывести “Bar”, +# а если делится на 3 и на 5 - вывести “Foobar”. +# Для всех остальных случаев не выводить ничего. + +# TODO: your code here diff --git a/Module2/practice/if_else/05_task_if_else.py b/Module2/practice/if_else/05_task_if_else.py new file mode 100644 index 000000000..96a730387 --- /dev/null +++ b/Module2/practice/if_else/05_task_if_else.py @@ -0,0 +1,6 @@ +# Дано целое число m, задающее номер месяца года. +# Выведите строку — название времени года, соответствующего данному месяцу. +# Формат входных данных: дано целое число m (1 ≤ m ≤ 12). +# Формат выходных данных: требуется вывести название времени года + +# TODO: your code here diff --git a/Module2/practice/if_else/06_task_if_else.py b/Module2/practice/if_else/06_task_if_else.py new file mode 100644 index 000000000..333f195ce --- /dev/null +++ b/Module2/practice/if_else/06_task_if_else.py @@ -0,0 +1,10 @@ +# Дан номер года. Требуется определить количество дней в этом году, учитывая, +# что обычный год насчитывает 365 дней, а високосный –— 366 дней.# +# Високосным считается год, делящийся на 4, но не делящийся на 100, +# либо делящиеся на 400 (например, годы 700, 1400 и 1800 не являются високосными, а 1600 и 2000 –— являются). +# Формат входных данных: Вводится неотрицательное целое число— номер года. +# Формат выходных данных: Выведите количество дней в данном году. + +year = int(input("Год: ")) + +# TODO: your code here diff --git a/Module2/practice/while/01_task_while.py b/Module2/practice/while/01_task_while.py new file mode 100644 index 000000000..cb98773cf --- /dev/null +++ b/Module2/practice/while/01_task_while.py @@ -0,0 +1,5 @@ +# Даны два целые числа a и b. Выведите на экран все целые четные числа от a до b включительно. +# Формат входных данных: Дано два целых числа a и b. Гарантируется, что a < b +# Формат выходных данных: Выведите все числа, требуемые по условию задачи. + +# TODO: your code here diff --git a/Module2/practice/while/02_task_while.py b/Module2/practice/while/02_task_while.py new file mode 100644 index 000000000..98f32f5eb --- /dev/null +++ b/Module2/practice/while/02_task_while.py @@ -0,0 +1,5 @@ +# Напишите программу, которая запрашивает строку до тех пор, пока пользователь не введет “хватит”. +# Т.е. программа запрашивает ввод, если вводится любое значение отличное от слова “хватит”, +# то программа запрашивает ввод снова. + +# TODO: your code here diff --git a/Module2/practice/while/03_task_while.py b/Module2/practice/while/03_task_while.py new file mode 100644 index 000000000..3db93b73e --- /dev/null +++ b/Module2/practice/while/03_task_while.py @@ -0,0 +1,12 @@ +# По данному натуральному n выведите лесенку из n ступенек, i-я ступень состоит из чисел от 1 до i без пробелов. +# Формат входных данных: Вводится натуральное число n. +# Формат выходных данных: Выведите ответ на задачу. +# Пример: +# Для n = 4 +# Нужно вывести: +# 1 +# 12 +# 123 +# 1234 + +# TODO: your code here diff --git a/Module2/practice/while/04_task_while.py b/Module2/practice/while/04_task_while.py new file mode 100644 index 000000000..347ec986e --- /dev/null +++ b/Module2/practice/while/04_task_while.py @@ -0,0 +1,9 @@ +# Из остатков кирпичей Сергей сложил пирамиду. +# На вершине пирамиды лежит один кирпич, на втором сверху ряду два кирпича, +# на третьем - три, и т.д., в нижнем ряду пирамиды количество кирпичей равно количеству уровней пирамиды. +# После этого он написал на каждом кирпиче по числу, равному количеству кирпичей на этом уровне, +# т.е. на верхнем уровне 1, на втором уровне 2, и т.д. Определите сумму чисел написанных на кирпичах. +# Формат входных данных: Программе даётся целое число — количество уровней в пирамиде +# Формат выходных данных: Необходимо вывести сумму чисел написанных на кирпичах. + +# TODO: your code here diff --git a/Module2/practice/while/05_task_while.py b/Module2/practice/while/05_task_while.py new file mode 100644 index 000000000..c2a224541 --- /dev/null +++ b/Module2/practice/while/05_task_while.py @@ -0,0 +1,20 @@ +# Вывод символов по диагоналям +# Даны сторона квадрата. Вывести его диагонали символами #. +# Формат входных данных: На вход программе одно целое число a (2 Date: Tue, 19 Jan 2021 20:35:02 +0300 Subject: [PATCH 15/21] Update 01_task_if_else.py --- Module2/practice/if_else/01_task_if_else.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Module2/practice/if_else/01_task_if_else.py b/Module2/practice/if_else/01_task_if_else.py index 77c5a0a9b..ee7a938f8 100644 --- a/Module2/practice/if_else/01_task_if_else.py +++ b/Module2/practice/if_else/01_task_if_else.py @@ -3,4 +3,7 @@ # Формат выходных данных: Требуется вывести тип числа текстом number = float(input()) # Считываем вещественное число -# TODO: your code here +if number > 0: + print("Положительное") +else: + print("Отрицательное") From 83a3b138372f7df75ff54534e0bf53444b2ad3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D1=87=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=95=D0=B2?= =?UTF-8?q?=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9?= <71762690+boo-learn@users.noreply.github.com> Date: Tue, 19 Jan 2021 20:36:41 +0300 Subject: [PATCH 16/21] Update 01_task_if_else.py --- Module2/practice/if_else/01_task_if_else.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Module2/practice/if_else/01_task_if_else.py b/Module2/practice/if_else/01_task_if_else.py index ee7a938f8..c18111b4c 100644 --- a/Module2/practice/if_else/01_task_if_else.py +++ b/Module2/practice/if_else/01_task_if_else.py @@ -3,7 +3,4 @@ # Формат выходных данных: Требуется вывести тип числа текстом number = float(input()) # Считываем вещественное число -if number > 0: - print("Положительное") -else: - print("Отрицательное") + From d4275039eea0dfbba59d7a55524622dff86d0bdd Mon Sep 17 00:00:00 2001 From: vlasove Date: Tue, 19 Jan 2021 21:44:07 +0300 Subject: [PATCH 17/21] Add hw for Module-2 --- Module2/home_work/01_hw.py | 8 ++++++++ Module2/home_work/02_hw.py | 10 ++++++++++ Module2/home_work/03_hw.py | 31 +++++++++++++++++++++++++++++++ Module2/home_work/04_hw.py | 16 ++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 Module2/home_work/01_hw.py create mode 100644 Module2/home_work/02_hw.py create mode 100644 Module2/home_work/03_hw.py create mode 100644 Module2/home_work/04_hw.py diff --git a/Module2/home_work/01_hw.py b/Module2/home_work/01_hw.py new file mode 100644 index 000000000..2e876f454 --- /dev/null +++ b/Module2/home_work/01_hw.py @@ -0,0 +1,8 @@ +# Требуется определить, можно ли от шоколадки размером n × m долек отломить k долек, +# если разрешается сделать один разлом по прямой между дольками (то есть разломить шоколадку на два прямоугольника). +# Формат входных данных +# Вводятся 3 натуральных числа n, m и k. Точно известно, что k ≠ n ⋅ m. +# Формат выходных данных +# Выведите «YES», если можно отломить от шоколадки ровно k долек, и «NO» иначе. + +# TODO: your code here diff --git a/Module2/home_work/02_hw.py b/Module2/home_work/02_hw.py new file mode 100644 index 000000000..24ec97636 --- /dev/null +++ b/Module2/home_work/02_hw.py @@ -0,0 +1,10 @@ +# По данному числу n закончите фразу «На лугу пасется...» одним из возможных продолжений: +# «n коров», «n корова», «n коровы», правильно склоняя слово «корова». +# Формат входных данных +# Дано целое положительное число n +# Формат выходных данных +# Программа должна вывести введенное число n и одно из слов (на латинице): +# коров, корова или коровы +# Например, 1 корова, 2 коровы, 5 коров, 125 коров. + +# TODO: your code here diff --git a/Module2/home_work/03_hw.py b/Module2/home_work/03_hw.py new file mode 100644 index 000000000..2ad639cd7 --- /dev/null +++ b/Module2/home_work/03_hw.py @@ -0,0 +1,31 @@ +# Задача 3. Таблица стоимости +# Одна единица некоторого товара стоит x рублей. Напечатайте таблицу стоимости 2, 3, ..., 20 единиц этого товара. +# Формат входных данных +# Вводится одно положительное вещественное число x, которое не превосходит 105 и задано с двумя знаками после запятой. + +# пример: +# Входные данные +# 9.99 +# Выходные данные +# 1 9.99 Rub. +# 2 19.98 Rub. +# 3 29.97 Rub. +# 4 39.96 Rub. +# 5 49.95 Rub. +# 6 59.94 Rub. +# 7 69.93 Rub. +# 8 79.92 Rub. +# 9 89.91 Rub. +# 10 99.90 Rub. +# 11 109.89 Rub. +# 12 119.88 Rub. +# 13 129.87 Rub. +# 14 139.86 Rub. +# 15 149.85 Rub. +# 16 159.84 Rub. +# 17 169.83 Rub. +# 18 179.82 Rub. +# 19 189.81 Rub. +# 20 199.80 Rub. + +# TODO: your code here diff --git a/Module2/home_work/04_hw.py b/Module2/home_work/04_hw.py new file mode 100644 index 000000000..d7c60142c --- /dev/null +++ b/Module2/home_work/04_hw.py @@ -0,0 +1,16 @@ +# Дан размер стороны квадрата. Вывести его стороны символами #. +# Формат входных данных +# На вход программе одно целое число a (2 Date: Wed, 20 Jan 2021 19:49:01 +0300 Subject: [PATCH 18/21] Update 01_task_string.py --- Module3/practice/string/01_task_string.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/Module3/practice/string/01_task_string.py b/Module3/practice/string/01_task_string.py index a5750c5bb..eac93bf2c 100644 --- a/Module3/practice/string/01_task_string.py +++ b/Module3/practice/string/01_task_string.py @@ -6,7 +6,5 @@ name = input("Имя: ") surname = input("Фамилия: ") -name = name.capitalize() -surname = surname.capitalize() print(name, surname) From 0769ec7bd942cc510257eed28bf0dd2e6971573d Mon Sep 17 00:00:00 2001 From: boo-learn Date: Thu, 21 Jan 2021 14:36:11 +0300 Subject: [PATCH 19/21] add new task for dict --- Module3/practice/dict/02_task_dict.py | 52 ++++----------------------- Module3/practice/dict/03_task_dict.py | 48 +++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 45 deletions(-) create mode 100644 Module3/practice/dict/03_task_dict.py diff --git a/Module3/practice/dict/02_task_dict.py b/Module3/practice/dict/02_task_dict.py index 82ba7084b..75fa1fad6 100644 --- a/Module3/practice/dict/02_task_dict.py +++ b/Module3/practice/dict/02_task_dict.py @@ -1,48 +1,10 @@ -# Данные о сотрудниках в программе хранятся в словаре -staff = [ - { - 'name': 'Алексей', - 'surname': 'Петров', - 'salary': 124300 - }, - { - 'name': 'Николай', - 'surname': 'Петров', - 'salary': 120000 - }, - { - 'name': 'Иван', - 'surname': 'Павлов', - 'salary': 34500 - }, - { - 'name': 'Василий', - 'surname': 'Кукушкин', - 'salary': 162500 - }, - { - 'name': 'Василий', - 'surname': 'Павлов', - 'salary': 47800 - }, -] -# Вычислите: -print("Имя и Фамилию сотрудника с самой высокой зарплатой:") +# Даны два списка одинаковой длины. Необходимо создать из них словарь таким образом, +# чтобы элементы первого списка были ключами, а элементы второго — соответственно значениями нашего словаря. -# TODO: your code here - -print("Имя и Фамилию сотрудника с самой низкой зарплатой:") - -# TODO: your code here - -print("Среднеарифметическую зарплату всех сотрудников") - -# TODO: your code here - -print("Количество однофамильцев в организации") - -# TODO: your code here - -print("*Список всех сотрудников(Имя и Фамилию) в порядке возрастания их зарплаты") +keys = ['name', 'surname', 'age', 'rate'] +values = ['Петр', 'Первый', 42, 1300] # TODO: your code here +print(dict(zip(keys, values))) +# Нужно получить словарь: +# {'name': 'Петр', 'surname': 'Первый', 'age': 42, 'rate': 1300} diff --git a/Module3/practice/dict/03_task_dict.py b/Module3/practice/dict/03_task_dict.py new file mode 100644 index 000000000..82ba7084b --- /dev/null +++ b/Module3/practice/dict/03_task_dict.py @@ -0,0 +1,48 @@ +# Данные о сотрудниках в программе хранятся в словаре +staff = [ + { + 'name': 'Алексей', + 'surname': 'Петров', + 'salary': 124300 + }, + { + 'name': 'Николай', + 'surname': 'Петров', + 'salary': 120000 + }, + { + 'name': 'Иван', + 'surname': 'Павлов', + 'salary': 34500 + }, + { + 'name': 'Василий', + 'surname': 'Кукушкин', + 'salary': 162500 + }, + { + 'name': 'Василий', + 'surname': 'Павлов', + 'salary': 47800 + }, +] +# Вычислите: +print("Имя и Фамилию сотрудника с самой высокой зарплатой:") + +# TODO: your code here + +print("Имя и Фамилию сотрудника с самой низкой зарплатой:") + +# TODO: your code here + +print("Среднеарифметическую зарплату всех сотрудников") + +# TODO: your code here + +print("Количество однофамильцев в организации") + +# TODO: your code here + +print("*Список всех сотрудников(Имя и Фамилию) в порядке возрастания их зарплаты") + +# TODO: your code here From 15b19311296af7b119c4bc87400b87886edc89bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D1=87=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=95=D0=B2?= =?UTF-8?q?=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9?= <71762690+boo-learn@users.noreply.github.com> Date: Thu, 21 Jan 2021 19:13:56 +0300 Subject: [PATCH 20/21] Update 02_task_dict.py --- Module3/practice/dict/02_task_dict.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Module3/practice/dict/02_task_dict.py b/Module3/practice/dict/02_task_dict.py index 75fa1fad6..510833b19 100644 --- a/Module3/practice/dict/02_task_dict.py +++ b/Module3/practice/dict/02_task_dict.py @@ -5,6 +5,5 @@ values = ['Петр', 'Первый', 42, 1300] # TODO: your code here -print(dict(zip(keys, values))) # Нужно получить словарь: # {'name': 'Петр', 'surname': 'Первый', 'age': 42, 'rate': 1300} From e671a5db65dff29aca685cea20fcb4f814c265b7 Mon Sep 17 00:00:00 2001 From: Zen Date: Mon, 25 Jan 2021 15:10:46 +0300 Subject: [PATCH 21/21] Update 01_task_if_else.py --- Module2/practice/if_else/01_task_if_else.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Module2/practice/if_else/01_task_if_else.py b/Module2/practice/if_else/01_task_if_else.py index c18111b4c..80c243982 100644 --- a/Module2/practice/if_else/01_task_if_else.py +++ b/Module2/practice/if_else/01_task_if_else.py @@ -3,4 +3,7 @@ # Формат выходных данных: Требуется вывести тип числа текстом number = float(input()) # Считываем вещественное число - +if number > 0: + print("Положительное") +else: + print("Отрицаельное")