From 8fe06fd58695e9f0a7cf72d1dd9c2dc8d20ca54e Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 10 Feb 2020 21:23:51 +0300 Subject: [PATCH 01/19] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=202.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task_1.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 lesson02/task_1.py diff --git a/lesson02/task_1.py b/lesson02/task_1.py new file mode 100644 index 0000000..eb7584d --- /dev/null +++ b/lesson02/task_1.py @@ -0,0 +1,8 @@ +# 1. Создать список и заполнить его элементами различных типов данных. +# Реализовать скрипт проверки типа данных каждого элемента. Использовать функцию type() для проверки типа. +# Элементы списка можно не запрашивать у пользователя, а указать явно, в программе. + + +my_list = [1, 1.2, 'soap', False, [1, 2, 3]] +for types in my_list: + print(type(types)) \ No newline at end of file From 0ef8b410cdc5dfffcf61eeee5fb68bb4a00f9bc1 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 10 Feb 2020 21:24:50 +0300 Subject: [PATCH 02/19] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=202.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task_2.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 lesson02/task_2.py diff --git a/lesson02/task_2.py b/lesson02/task_2.py new file mode 100644 index 0000000..ebc7ba6 --- /dev/null +++ b/lesson02/task_2.py @@ -0,0 +1,18 @@ +# 2. Для списка реализовать обмен значений соседних элементов, т.е. +# Значениями обмениваются элементы с индексами 0 и 1, 2 и 3 и т.д. +# При нечетном количестве элементов последний сохранить на своем месте. +# Для заполнения списка элементов необходимо использовать функцию input(). + +#a = input('Введите элементы списка: ') +my_list = [1, 2, 3, 4, 5] +#for i in my_list: +#print(my_list[2::-1]) +print(my_list[:2:]) +#print(my_list.index(5)) + +#print(my_list.reverse()) +#my_list.reverse() +#print(my_list) + +# не хватило времени вникнуть в срезы которые меняют порядок - [::-1] + From 3cbcde41573edb88072dd9b2f6ed6f386e4225f0 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 10 Feb 2020 21:25:11 +0300 Subject: [PATCH 03/19] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=202.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task_3.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 lesson02/task_3.py diff --git a/lesson02/task_3.py b/lesson02/task_3.py new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/lesson02/task_3.py @@ -0,0 +1,39 @@ +# 3. Пользователь вводит месяц в виде целого числа от 1 до 12. +# Сообщить к какому времени года относится месяц (зима, весна, лето, осень). +# Напишите решения через list и через dict. + +mon = int(input('Введите номер месяца: ')) +year = {'зима': (1, 2, 12), 'весна': (3, 4, 5), 'лето': (6, 7, 8), 'осень': (9, 10, 11)} +for key in year.keys(): + if mon in year[key]: + print(key) + break + +# со словарем легко + +month = int(input('Введите номер месяца: ')) +#winter = [1, 2, 12] +#spring = [3, 4, 5] +#summer = [6, 7, 8] +#autumm = [9, 10, 11] +#year = ['winter', 'spring', 'summer', 'autumm'] +#year = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] +#print(year[0]) +for season in year: + if month == 1 or 2 or 12: + season = 'winter' + print(season) + break + elif month == 3 or 4 or 5: + season = 'spring' + print(season) + #break + #elif month == 6 or 7 or 8: + #break + #elif month == 9 or 10 or 11: + #season = 'осень' + #print(season) + #break + + +# со списком, не понял как input прикрепить к списку и через цикл вывести \ No newline at end of file From f72041584ae00c19360159a88d38ac0c6101ec8c Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 10 Feb 2020 21:25:34 +0300 Subject: [PATCH 04/19] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=202.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task_4.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 lesson02/task_4.py diff --git a/lesson02/task_4.py b/lesson02/task_4.py new file mode 100644 index 0000000..12dd075 --- /dev/null +++ b/lesson02/task_4.py @@ -0,0 +1,18 @@ +# 4. Пользователь вводит строку из нескольких слов, разделённых пробелами. +# # Вывести каждое слово с новой строки. +# # Строки необходимо пронумеровать. +# # Если в слово длинное, выводить только первые 10 букв в слове. + + +words = input('Введите несколько слов через пробел: ').split() +#a = [words] +#for a in words: + +print(len(words)) +#for word in words: + #print(word) +#a = '\n' +#word = '\n'words + + +# стопнулся на том, как разбить строку на слова From 076bc59ef0f7b6b11e59db862af7a23cdf356396 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 10 Feb 2020 21:25:56 +0300 Subject: [PATCH 05/19] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=202.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task_5.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lesson02/task_5.py diff --git a/lesson02/task_5.py b/lesson02/task_5.py new file mode 100644 index 0000000..c6dedf4 --- /dev/null +++ b/lesson02/task_5.py @@ -0,0 +1,9 @@ +# 5. Реализовать структуру «Рейтинг», представляющую собой не возрастающий набор натуральных чисел. +# У пользователя необходимо запрашивать новый элемент рейтинга. +# Если в рейтинге существуют элементы с одинаковыми значениями, +# то новый элемент с тем же значением должен разместиться после них. +# Подсказка. Например, набор натуральных чисел: 7, 5, 3, 3, 2. +# Пользователь ввел число 3. Результат: 7, 5, 3, 3, 3, 2. +# Пользователь ввел число 8. Результат: 8, 7, 5, 3, 3, 2. +# Пользователь ввел число 1. Результат: 7, 5, 3, 3, 2, 1. +# Набор натуральных чисел можно задать непосредственно в коде, например, my_list = [7, 5, 3, 3, 2]. \ No newline at end of file From ee8d73da0b4e943b5d16e1ee06376281909d79ba Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 10 Feb 2020 21:26:16 +0300 Subject: [PATCH 06/19] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=202.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson02/task_6.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lesson02/task_6.py diff --git a/lesson02/task_6.py b/lesson02/task_6.py new file mode 100644 index 0000000..54f8588 --- /dev/null +++ b/lesson02/task_6.py @@ -0,0 +1,21 @@ +# 6. *Реализовать структуру данных «Товары». Она должна представлять собой список кортежей. +# Каждый кортеж хранит информацию об отдельном товаре. +# В кортеже должно быть два элемента — номер товара и словарь с параметрами +# (характеристиками товара: название, цена, количество, единица измерения). +# Структуру нужно сформировать программно, т.е. запрашивать все данные у пользователя. +# Пример готовой структуры: +# [ +# (1, {“название”: “компьютер”, “цена”: 20000, “количество”: 5, “eд”: “шт.”}), +# (2, {“название”: “принтер”, “цена”: 6000, “количество”: 2, “eд”: “шт.”}), +# (3, {“название”: “сканер”, “цена”: 2000, “количество”: 7, “eд”: “шт.”}) +# ] +# Необходимо собрать аналитику о товарах. Реализовать словарь, +# в котором каждый ключ — характеристика товара, например название, +# а значение — список значений-характеристик, например список названий товаров. +# Пример: +# { +# “название”: [“компьютер”, “принтер”, “сканер”], +# “цена”: [20000, 6000, 2000], +# “количество”: [5, 2, 7], +# “ед”: [“шт.”] +# } \ No newline at end of file From 48640f68674a0ab68984fdc45613a04497fc5d39 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Thu, 13 Feb 2020 21:04:52 +0300 Subject: [PATCH 07/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=203.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson03/task_1.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 lesson03/task_1.py diff --git a/lesson03/task_1.py b/lesson03/task_1.py new file mode 100644 index 0000000..1d335b0 --- /dev/null +++ b/lesson03/task_1.py @@ -0,0 +1,13 @@ +# 1. Реализовать функцию, принимающую два числа (позиционные аргументы) и выполняющую их деление. +# Числа запрашивать у пользователя, предусмотреть обработку ситуации деления на ноль. + +def s_div(): + try: + first_n = float(input('Введите первое число: ')) + sec_n = float(input('Введите второе число: ')) + gen_n = first_n / sec_n + except ZeroDivisionError: + print('Деление на ноль') + return + return gen_n +print(s_div()) \ No newline at end of file From afcee37e975b04ff61ca21f7bbba0c08fa675090 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Thu, 13 Feb 2020 21:07:20 +0300 Subject: [PATCH 08/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=203.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson03/task_2.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 lesson03/task_2.py diff --git a/lesson03/task_2.py b/lesson03/task_2.py new file mode 100644 index 0000000..c7355bc --- /dev/null +++ b/lesson03/task_2.py @@ -0,0 +1,8 @@ +# 2. Реализовать функцию, принимающую несколько параметров, описывающих данные пользователя: +# имя, фамилия, год рождения, город проживания, email, телефон. +# Функция должна принимать параметры как именованные аргументы. +# Реализовать вывод данных о пользователе одной строкой. + +def g_unit(name, surname, birth, city, email, phone): + print(name, surname, birth, city, email, phone) +g_unit(name='', surname='', birth='', city='', email='', phone='') \ No newline at end of file From ce321073fea6802d09390e93e250aba9bf107a61 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Thu, 13 Feb 2020 21:07:42 +0300 Subject: [PATCH 09/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=203.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson03/task_3.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 lesson03/task_3.py diff --git a/lesson03/task_3.py b/lesson03/task_3.py new file mode 100644 index 0000000..d9baacb --- /dev/null +++ b/lesson03/task_3.py @@ -0,0 +1,8 @@ +#3. Реализовать функцию my_func(), которая принимает три позиционных аргумента, +# и возвращает сумму наибольших двух аргументов. + +def my_func(a, b, c): + num = [a, b, c] + num.remove(min(a, b, c, key=int)) + return sum(num) +print(my_func(90, 8, 4)) \ No newline at end of file From 625a8cb9df1de9a527d5d709d32a6f5d3d32e98d Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Thu, 13 Feb 2020 21:07:57 +0300 Subject: [PATCH 10/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=203.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson03/task_4.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lesson03/task_4.py diff --git a/lesson03/task_4.py b/lesson03/task_4.py new file mode 100644 index 0000000..00019d7 --- /dev/null +++ b/lesson03/task_4.py @@ -0,0 +1,31 @@ +# 4. Программа принимает действительное положительное число x и целое отрицательное число y. +# Необходимо выполнить возведение числа x в степень y. Задание необходимо реализовать в виде функции my_func(x, y). +# При решении задания необходимо обойтись без встроенной функции возведения числа в степень. +# Подсказка: попробуйте решить задачу двумя способами. +# Первый — возведение в степень с помощью оператора **. +# Второй — более сложная реализация без оператора **, предусматривающая использование цикла. + + +def my_func(x, y): + return x ** abs(y) + +print(my_func(3, -3)) + + +#def my_func(x, y): + #for i in range(abs(y-1)): + #b = i * x + #return b + + + + +#print(my_func(2, -2)) + + + + + + + + From 2c2f826ba31a43d6cfdff65e92b14bc0483c38db Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Thu, 13 Feb 2020 21:08:11 +0300 Subject: [PATCH 11/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=203.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson03/task_5.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lesson03/task_5.py diff --git a/lesson03/task_5.py b/lesson03/task_5.py new file mode 100644 index 0000000..960e191 --- /dev/null +++ b/lesson03/task_5.py @@ -0,0 +1,26 @@ +# 5. Программа запрашивает у пользователя строку чисел, разделенных пробелом. +# # При нажатии Enter должна выводиться сумма чисел. +# Пользователь может продолжить ввод чисел, разделенных пробелом и снова нажать Enter. +# Сумма вновь введенных чисел будет добавляться к уже подсчитанной сумме. +# Но если вместо числа вводится специальный символ, выполнение программы завершается. +# Если специальный символ введен после нескольких чисел, +# то вначале нужно добавить сумму этих чисел к полученной ранее сумме и после этого завершить программу. + + +line = list(input('Введите числа: ')) +num = int(line) +result = sum(line) +print(result) + +#list(map(int, "42 0".split())) + +#aa = input('введите числа') +#dd = aa.split(" : ") +#print(dd) + + + + + + + From 448b7600d5c0ae4a1b2b69270672538d46ca4263 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Thu, 13 Feb 2020 21:08:27 +0300 Subject: [PATCH 12/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=203.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson03/task_6.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 lesson03/task_6.py diff --git a/lesson03/task_6.py b/lesson03/task_6.py new file mode 100644 index 0000000..79182e2 --- /dev/null +++ b/lesson03/task_6.py @@ -0,0 +1,7 @@ +# 6. Реализовать функцию int_func(), принимающую слово из маленьких латинских букв и возвращающую его же, +# но с прописной первой буквой. Например, print(int_func(‘text’)) -> Text. +# Продолжить работу над заданием. +# В программу должна попадать строка из слов, разделенных пробелом. +# Каждое слово состоит из латинских букв в нижнем регистре. +# Сделать вывод исходной строки, но каждое слово должно начинаться с заглавной буквы. +# Необходимо использовать написанную ранее функцию int_func(). \ No newline at end of file From 4a08b2b3632a6fd4fd71c943b8b7bf39031a2479 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 17 Feb 2020 20:46:50 +0300 Subject: [PATCH 13/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=204.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson04/task_1.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 lesson04/task_1.py diff --git a/lesson04/task_1.py b/lesson04/task_1.py new file mode 100644 index 0000000..211a148 --- /dev/null +++ b/lesson04/task_1.py @@ -0,0 +1,6 @@ +# 1. Реализовать скрипт, в котором должна быть предусмотрена функция расчета заработной платы сотрудника. +# В расчете необходимо использовать формулу: +# (выработка в часах * ставка в час) + премия. +# Для выполнения расчета для конкретных значений необходимо запускать скрипт с параметрами. + + From 6e9351d3bdd7a59f2d513cd401076e732bcdae43 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 17 Feb 2020 20:47:39 +0300 Subject: [PATCH 14/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=204.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson04/task_2.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lesson04/task_2.py diff --git a/lesson04/task_2.py b/lesson04/task_2.py new file mode 100644 index 0000000..bbfb414 --- /dev/null +++ b/lesson04/task_2.py @@ -0,0 +1,10 @@ +# 2. Представлен список чисел. +# Необходимо вывести элементы исходного списка, значения которых больше предыдущего элемента. +#Подсказка: элементы, удовлетворяющие условию, оформить в виде списка. +# Для формирования списка использовать генератор. + + +a = [0, 1, 2, 4, 5, 6, 5] +b = [el for el in a if el > el - 1] +print(b) + From 30c32a57517d0a7301414f82ab03defad4a54006 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 17 Feb 2020 20:48:01 +0300 Subject: [PATCH 15/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=204.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson04/task_3.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 lesson04/task_3.py diff --git a/lesson04/task_3.py b/lesson04/task_3.py new file mode 100644 index 0000000..f0a79a2 --- /dev/null +++ b/lesson04/task_3.py @@ -0,0 +1,5 @@ +# 3. Для чисел в пределах от 20 до 240 найти числа, кратные 20 или 21. Необходимо решить задание в одну строку. +# Подсказка: использовать функцию range() и генератор. + +my_list = [el for el in range(20, 240) if el % 20 == 0 or el % 21 == 0] +print(my_list) From 7c7526007dada1ac2ee96419855ae45c484db522 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 17 Feb 2020 20:48:21 +0300 Subject: [PATCH 16/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=204.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson04/task_4.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lesson04/task_4.py diff --git a/lesson04/task_4.py b/lesson04/task_4.py new file mode 100644 index 0000000..b35d971 --- /dev/null +++ b/lesson04/task_4.py @@ -0,0 +1,10 @@ +# 4. Представлен список чисел. +# Определить элементы списка, не имеющие повторений. +# Сформировать итоговый массив чисел, соответствующих требованию. +# Элементы вывести в порядке их следования в исходном списке. +# Для выполнения задания обязательно использовать генератор. + + +my_list = [1, 5, 3, 3, 4, 4, 7, 2, 9] +new_list = [el for el in set(my_list)] +print(new_list) \ No newline at end of file From c4590ffe8baf48c2054906e68675d46d3c9abc63 Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 17 Feb 2020 20:48:41 +0300 Subject: [PATCH 17/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=204.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson04/task_5.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lesson04/task_5.py diff --git a/lesson04/task_5.py b/lesson04/task_5.py new file mode 100644 index 0000000..6cf2a52 --- /dev/null +++ b/lesson04/task_5.py @@ -0,0 +1,10 @@ +# 5. Реализовать формирование списка, используя функцию range() и возможности генератора. +# В список должны войти четные числа от 100 до 1000 (включая границы). +# Необходимо получить результат вычисления произведения всех элементов списка. +# Подсказка: использовать функцию reduce(). + +from functools import reduce + +my_list = [el for el in range(100, 1001) if el % 2 == 0] +new_list = reduce(lambda x, y: x * y, my_list) +print(new_list) \ No newline at end of file From 8c075e7d1bfa3e87bc0878bf27e24d98214162fa Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 17 Feb 2020 20:49:05 +0300 Subject: [PATCH 18/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=204.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson04/task_6.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lesson04/task_6.py diff --git a/lesson04/task_6.py b/lesson04/task_6.py new file mode 100644 index 0000000..671c025 --- /dev/null +++ b/lesson04/task_6.py @@ -0,0 +1,28 @@ +# 6. Реализовать два небольших скрипта:начиная с указанного, +# а) бесконечный итератор, генерирующий целые числа, +# б) бесконечный итератор, повторяющий элементы некоторого списка, определенного заранее. +# Подсказка: использовать функцию count() и cycle() модуля itertools. + + +from itertools import count, cycle + +for z in count(-100): # 1 + print(z) + if z > 99: + break + + +phone = ['xiaomi', 'iphone', 'samsumg', 'Huawei', 'Sony'] # 2 +iter = cycle(phone) +print(next(iter)) +print(next(iter)) +print(next(iter)) +print(next(iter)) +print(next(iter)) + + + + + + + From 3255c610096c4ffe92f58a919598264fbf533d6b Mon Sep 17 00:00:00 2001 From: Sergey Maslov Date: Mon, 17 Feb 2020 20:49:27 +0300 Subject: [PATCH 19/19] =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=204.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson04/task_7.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lesson04/task_7.py diff --git a/lesson04/task_7.py b/lesson04/task_7.py new file mode 100644 index 0000000..999cfc9 --- /dev/null +++ b/lesson04/task_7.py @@ -0,0 +1,27 @@ +# 7. Реализовать генератор с помощью функции с ключевым словом yield, создающим очередное значение. +# При вызове функции должен создаваться объект-генератор. +# Функция должна вызываться следующим образом: for el in fibo_gen(). +# Функция отвечает за получение факториала числа, а в цикле необходимо выводить только первые 15 чисел. +# Подсказка: факториал числа n — произведение чисел от 1 до n. Например, факториал четырёх 4! = 1 * 2 * 3 * 4 = 24. + + + +def fibo_gen(n): + fac = 1 + for el in range(1, n + 1): + fac *= el + yield fac + +factorial = input(input('factorial yuo would like to know? ')) +for i in fibo_gen(n): + print(i) + + + + + + + + + +