From 50bfcdde2154d43e2a4f5b9f07495210ce9b1909 Mon Sep 17 00:00:00 2001
From: softicer-67 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 02:02:57 +0500
Subject: [PATCH 01/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Lesson_10/__init__.py | 0
Lesson_11/__init__.py | 0
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 Lesson_10/__init__.py
create mode 100644 Lesson_11/__init__.py
diff --git a/Lesson_10/__init__.py b/Lesson_10/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/Lesson_11/__init__.py b/Lesson_11/__init__.py
new file mode 100644
index 0000000..e69de29
From 9fb6496408bc260e67da93b0de1e1f6372a666cd Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 02:23:01 +0500
Subject: [PATCH 02/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/1.py | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 ALGORITMS/Lesson_1/1.py
diff --git a/ALGORITMS/Lesson_1/1.py b/ALGORITMS/Lesson_1/1.py
new file mode 100644
index 0000000..850e314
--- /dev/null
+++ b/ALGORITMS/Lesson_1/1.py
@@ -0,0 +1,10 @@
+# 1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь.
+
+x = int(input('Введите трехзначное число: '))
+
+d1 = x // 100
+d2 = x % 100 // 10
+d3 = x % 10
+
+print('Сумма цифр трехзначного числа: ', d1 + d2 + d3)
+print('Произведение цифр трехзначного числа: ', d1 * d2 * d3)
\ No newline at end of file
From 17093e4ce9e866596a7a44e9a774e1d99948838c Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:17:52 +0500
Subject: [PATCH 03/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALG/Lesson_1/1.py | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 ALG/Lesson_1/1.py
diff --git a/ALG/Lesson_1/1.py b/ALG/Lesson_1/1.py
new file mode 100644
index 0000000..850e314
--- /dev/null
+++ b/ALG/Lesson_1/1.py
@@ -0,0 +1,10 @@
+# 1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь.
+
+x = int(input('Введите трехзначное число: '))
+
+d1 = x // 100
+d2 = x % 100 // 10
+d3 = x % 10
+
+print('Сумма цифр трехзначного числа: ', d1 + d2 + d3)
+print('Произведение цифр трехзначного числа: ', d1 * d2 * d3)
\ No newline at end of file
From ecef0c3ba198ee4832766b84f0660f7621abae6c Mon Sep 17 00:00:00 2001
From: softicer-67 <57116431+softicer-67@users.noreply.github.com>
Date: Mon, 12 Jul 2021 03:25:19 +0500
Subject: [PATCH 04/83] Delete __init__.py
---
Lesson_11/__init__.py | 0
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 Lesson_11/__init__.py
diff --git a/Lesson_11/__init__.py b/Lesson_11/__init__.py
deleted file mode 100644
index e69de29..0000000
From 68b41d34eb2f9fc514418f8b9cf793e2dcb39831 Mon Sep 17 00:00:00 2001
From: softicer-67 <57116431+softicer-67@users.noreply.github.com>
Date: Mon, 12 Jul 2021 03:27:01 +0500
Subject: [PATCH 05/83] Delete ALG directory
---
ALG/Lesson_1/1.py | 10 ----------
1 file changed, 10 deletions(-)
delete mode 100644 ALG/Lesson_1/1.py
diff --git a/ALG/Lesson_1/1.py b/ALG/Lesson_1/1.py
deleted file mode 100644
index 850e314..0000000
--- a/ALG/Lesson_1/1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# 1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь.
-
-x = int(input('Введите трехзначное число: '))
-
-d1 = x // 100
-d2 = x % 100 // 10
-d3 = x % 10
-
-print('Сумма цифр трехзначного числа: ', d1 + d2 + d3)
-print('Произведение цифр трехзначного числа: ', d1 * d2 * d3)
\ No newline at end of file
From 1948ac8605087d29ee2c39408a166fdf4ae5690b Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:32:38 +0500
Subject: [PATCH 06/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/2.py | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 ALGORITMS/Lesson_2/2.py
diff --git a/ALGORITMS/Lesson_2/2.py b/ALGORITMS/Lesson_2/2.py
new file mode 100644
index 0000000..e69de29
From d7aa5eb7c7751c576e3ff38c2b2ad556fa9ef240 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:34:25 +0500
Subject: [PATCH 07/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/2.py | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 ALGORITMS/Lesson_1/2.py
diff --git a/ALGORITMS/Lesson_1/2.py b/ALGORITMS/Lesson_1/2.py
new file mode 100644
index 0000000..e69de29
From f9e07d2fd68f1b11ba1b1b16d8f243154ce93ba0 Mon Sep 17 00:00:00 2001
From: softicer-67 <57116431+softicer-67@users.noreply.github.com>
Date: Mon, 12 Jul 2021 03:39:13 +0500
Subject: [PATCH 08/83] Delete ALGORITMS/Lesson_2 directory
---
ALGORITMS/Lesson_2/2.py | 0
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 ALGORITMS/Lesson_2/2.py
diff --git a/ALGORITMS/Lesson_2/2.py b/ALGORITMS/Lesson_2/2.py
deleted file mode 100644
index e69de29..0000000
From bd55c91a6366aff1349a1b2319cc73ac24ade89a Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:38:01 +0500
Subject: [PATCH 09/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/2.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/ALGORITMS/Lesson_1/2.py b/ALGORITMS/Lesson_1/2.py
index e69de29..6f9c469 100644
--- a/ALGORITMS/Lesson_1/2.py
+++ b/ALGORITMS/Lesson_1/2.py
@@ -0,0 +1,6 @@
+"""
+2. Выполнить логические побитовые операции «И», «ИЛИ» и др. над числами 5 и 6.
+Выполнить над числом 5 побитовый сдвиг вправо и влево на два знака.
+Объяснить полученный результат.
+"""
+
From d4e4583a7bf9f8b0cb0bc79dc30225c00ba11474 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:42:06 +0500
Subject: [PATCH 10/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=203?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/.idea/vcs.xml | 6 ++++++
ALGORITMS/Lesson_1/3.py | 3 +++
2 files changed, 9 insertions(+)
create mode 100644 ALGORITMS/.idea/vcs.xml
create mode 100644 ALGORITMS/Lesson_1/3.py
diff --git a/ALGORITMS/.idea/vcs.xml b/ALGORITMS/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/ALGORITMS/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ALGORITMS/Lesson_1/3.py b/ALGORITMS/Lesson_1/3.py
new file mode 100644
index 0000000..ecf4ed4
--- /dev/null
+++ b/ALGORITMS/Lesson_1/3.py
@@ -0,0 +1,3 @@
+"""
+3. По введенным пользователем координатам двух точек вывести уравнение прямой вида y=kx+b, проходящей через эти точки.
+"""
\ No newline at end of file
From c7f1f332a3199ef154b3cd041c85ad1436b33d7d Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:46:15 +0500
Subject: [PATCH 11/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 ALGORITMS/Lesson_1/4.py
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
new file mode 100644
index 0000000..66286d7
--- /dev/null
+++ b/ALGORITMS/Lesson_1/4.py
@@ -0,0 +1,9 @@
+"""
+4. Написать программу, которая генерирует в указанных пользователем границах:
+случайное целое число;
+случайное вещественное число;
+случайный символ.
+Для каждого из трех случаев пользователь задает свои границы диапазона.
+Например, если надо получить случайный символ от 'a' до 'f', то вводятся эти символы.
+Программа должна вывести на экран любой символ алфавита от 'a' до 'f' включительно.
+"""
\ No newline at end of file
From df899a96987ccd3cadba51e46d79a712ba3c7970 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:47:26 +0500
Subject: [PATCH 12/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/5.py | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 ALGORITMS/Lesson_1/5.py
diff --git a/ALGORITMS/Lesson_1/5.py b/ALGORITMS/Lesson_1/5.py
new file mode 100644
index 0000000..fd3847a
--- /dev/null
+++ b/ALGORITMS/Lesson_1/5.py
@@ -0,0 +1,3 @@
+"""
+5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят и сколько между ними находится букв.
+"""
\ No newline at end of file
From a3f70899b3e933356fb478fd2134057242012b9d Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:48:32 +0500
Subject: [PATCH 13/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=206?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/6.py | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 ALGORITMS/Lesson_1/6.py
diff --git a/ALGORITMS/Lesson_1/6.py b/ALGORITMS/Lesson_1/6.py
new file mode 100644
index 0000000..fae1dc0
--- /dev/null
+++ b/ALGORITMS/Lesson_1/6.py
@@ -0,0 +1,3 @@
+"""
+6. Пользователь вводит номер буквы в алфавите. Определить, какая это буква.
+"""
\ No newline at end of file
From bde6d3dfffaee4545b6ce47d27254a6141e00d83 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:49:22 +0500
Subject: [PATCH 14/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/7.py | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 ALGORITMS/Lesson_1/7.py
diff --git a/ALGORITMS/Lesson_1/7.py b/ALGORITMS/Lesson_1/7.py
new file mode 100644
index 0000000..24ee2b4
--- /dev/null
+++ b/ALGORITMS/Lesson_1/7.py
@@ -0,0 +1,5 @@
+"""
+7. По длинам трех отрезков, введенных пользователем, определить возможность существования треугольника,
+составленного из этих отрезков. Если такой треугольник существует, то определить, является ли он разносторонним,
+равнобедренным или равносторонним.
+"""
\ No newline at end of file
From 4ac34c03ad2b28322a2b921a831bb493b8f774ac Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:50:21 +0500
Subject: [PATCH 15/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=208?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/8.py | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 ALGORITMS/Lesson_1/8.py
diff --git a/ALGORITMS/Lesson_1/8.py b/ALGORITMS/Lesson_1/8.py
new file mode 100644
index 0000000..f9b48aa
--- /dev/null
+++ b/ALGORITMS/Lesson_1/8.py
@@ -0,0 +1,3 @@
+"""
+8. Определить, является ли год, который ввел пользователем, високосным или невисокосным.
+"""
\ No newline at end of file
From 6da637beb3e76629ba1a29b3161651c975c19708 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 03:51:01 +0500
Subject: [PATCH 16/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=209?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/9.py | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 ALGORITMS/Lesson_1/9.py
diff --git a/ALGORITMS/Lesson_1/9.py b/ALGORITMS/Lesson_1/9.py
new file mode 100644
index 0000000..076b419
--- /dev/null
+++ b/ALGORITMS/Lesson_1/9.py
@@ -0,0 +1,3 @@
+"""
+9. Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).
+"""
\ No newline at end of file
From b0ef715f4982b64a06afd9ddb6b95612946311a4 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 11:32:29 +0500
Subject: [PATCH 17/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/1.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/ALGORITMS/Lesson_1/1.py b/ALGORITMS/Lesson_1/1.py
index 850e314..f2393bd 100644
--- a/ALGORITMS/Lesson_1/1.py
+++ b/ALGORITMS/Lesson_1/1.py
@@ -2,9 +2,9 @@
x = int(input('Введите трехзначное число: '))
-d1 = x // 100
-d2 = x % 100 // 10
-d3 = x % 10
+a = x // 100
+b = x % 100 // 10
+c = x % 10
-print('Сумма цифр трехзначного числа: ', d1 + d2 + d3)
-print('Произведение цифр трехзначного числа: ', d1 * d2 * d3)
\ No newline at end of file
+print('Сумма цифр трехзначного числа: ', a + b + c)
+print('Произведение цифр трехзначного числа: ', a * b * c)
From 94e676f69ae6c05913e1fd314229deb372469523 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 13:26:12 +0500
Subject: [PATCH 18/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index 66286d7..4400060 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -6,4 +6,36 @@
Для каждого из трех случаев пользователь задает свои границы диапазона.
Например, если надо получить случайный символ от 'a' до 'f', то вводятся эти символы.
Программа должна вывести на экран любой символ алфавита от 'a' до 'f' включительно.
-"""
\ No newline at end of file
+"""
+
+import random
+import sys
+
+
+def menu():
+ print('\n\tМЕНЮ:\n')
+ print('[1] Вывести случайное целое число')
+ print('[2] Случайное вещественное число')
+ print('[3] Случайный символ')
+ print('[0] Выход')
+
+
+menu()
+option = input()
+
+while option != '0':
+ if option == '1':
+ print(random.randint(1, 100))
+ elif option == '2':
+ print(float(random.randrange(101)))
+ elif option == '3':
+ print(random.choice('abcdef'))
+
+ if __name__ == '__main__':
+ option = input()
+
+
+
+
+
+
From f83526b343dd63cf5f26bf3137064ee128855fae Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 14:19:41 +0500
Subject: [PATCH 19/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/1.py | 26 ++++++++++++++++++++------
ALGORITMS/Lesson_1/5.py | 19 ++++++++++++++++++-
2 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/ALGORITMS/Lesson_1/1.py b/ALGORITMS/Lesson_1/1.py
index f2393bd..2fa394e 100644
--- a/ALGORITMS/Lesson_1/1.py
+++ b/ALGORITMS/Lesson_1/1.py
@@ -1,10 +1,24 @@
-# 1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь.
+# 1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь.
-x = int(input('Введите трехзначное число: '))
+number = int(input('\n1 Вариант. Введите трехзначное целое число: '))
-a = x // 100
-b = x % 100 // 10
-c = x % 10
+a = number // 100
+b = number % 100 // 10
+c = number % 10
-print('Сумма цифр трехзначного числа: ', a + b + c)
+print('\nСумма цифр трехзначного числа: ', a + b + c)
print('Произведение цифр трехзначного числа: ', a * b * c)
+
+
+num = input('\n2 Вариант. Введите трехзначное целое число: ')
+summa = 0
+umn = 1
+for i in num:
+ summa += int(i)
+ umn *= int(i)
+
+print('\nСумма цифр трехзначного числа: ', summa)
+print('Произведение цифр трехзначного числа: ', umn)
+
+
+
diff --git a/ALGORITMS/Lesson_1/5.py b/ALGORITMS/Lesson_1/5.py
index fd3847a..cc81253 100644
--- a/ALGORITMS/Lesson_1/5.py
+++ b/ALGORITMS/Lesson_1/5.py
@@ -1,3 +1,20 @@
"""
5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят и сколько между ними находится букв.
-"""
\ No newline at end of file
+"""
+
+# alphabet = 'abcdefghijklmnopqrstuvwxyz'
+#
+# a, b = input('Введите 2 буквы латинского алфавита: ')
+#
+# x = len(alphabet)
+
+number = input('Введите число: ')
+
+sum = 0
+prod = 1
+
+for f in number:
+ sum += int(f)
+ prod *= int(f)
+print(f"Сумма цифр числа {number}: {sum}")
+print(f"Произведение цифр: {number}: {prod}")
\ No newline at end of file
From 138b87d8bffaa5e552af33e2279af4fcacf291bf Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 14:20:06 +0500
Subject: [PATCH 20/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/2.py | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/ALGORITMS/Lesson_1/2.py b/ALGORITMS/Lesson_1/2.py
index 6f9c469..3674960 100644
--- a/ALGORITMS/Lesson_1/2.py
+++ b/ALGORITMS/Lesson_1/2.py
@@ -4,3 +4,14 @@
Объяснить полученный результат.
"""
+
+a = 5
+print(a, '=', bin(a)[2:])
+b = 6
+print(b, '=', bin(b)[2:])
+
+print(f'a & b: {a & b} = {bin(a & b)}')
+print(f'a ^ b: {a ^ b} = {bin(a ^ b)}')
+print(f'a | b: {a | b} = {bin(a | b)}')
+print(f'{b} << 2: {b << 2} = {bin(b << 2)}')
+print(f'{b} >> 2: {b >> 2} = {bin(b >> 2)}')
From 74cf40a1d452740d6bb0bbfdc628a4cc73836a35 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 14:22:16 +0500
Subject: [PATCH 21/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/5.py | 8 --------
1 file changed, 8 deletions(-)
diff --git a/ALGORITMS/Lesson_1/5.py b/ALGORITMS/Lesson_1/5.py
index cc81253..6a479ca 100644
--- a/ALGORITMS/Lesson_1/5.py
+++ b/ALGORITMS/Lesson_1/5.py
@@ -10,11 +10,3 @@
number = input('Введите число: ')
-sum = 0
-prod = 1
-
-for f in number:
- sum += int(f)
- prod *= int(f)
-print(f"Сумма цифр числа {number}: {sum}")
-print(f"Произведение цифр: {number}: {prod}")
\ No newline at end of file
From 220d65399cc487415c0c48ff0d61853da95edf53 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 14:23:12 +0500
Subject: [PATCH 22/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/5.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/ALGORITMS/Lesson_1/5.py b/ALGORITMS/Lesson_1/5.py
index 6a479ca..69128cc 100644
--- a/ALGORITMS/Lesson_1/5.py
+++ b/ALGORITMS/Lesson_1/5.py
@@ -2,11 +2,11 @@
5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят и сколько между ними находится букв.
"""
-# alphabet = 'abcdefghijklmnopqrstuvwxyz'
-#
-# a, b = input('Введите 2 буквы латинского алфавита: ')
-#
-# x = len(alphabet)
+alphabet = 'abcdefghijklmnopqrstuvwxyz'
+
+a, b = input('Введите 2 буквы латинского алфавита: ')
+
+x = len(alphabet)
+
-number = input('Введите число: ')
From e444ce49641c596d8c5d8bb7bf9601e7921e1d98 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 15:32:39 +0500
Subject: [PATCH 23/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/5.py | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/ALGORITMS/Lesson_1/5.py b/ALGORITMS/Lesson_1/5.py
index 69128cc..c1a6c26 100644
--- a/ALGORITMS/Lesson_1/5.py
+++ b/ALGORITMS/Lesson_1/5.py
@@ -1,12 +1,28 @@
-"""
-5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят и сколько между ними находится букв.
-"""
+# """
+# 5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят и сколько между ними находится букв.
+# """
-alphabet = 'abcdefghijklmnopqrstuvwxyz'
+a, b = [i.upper() for i in input('Введите 2 буквы латинского алфавита слитно: ')]
-a, b = input('Введите 2 буквы латинского алфавита: ')
+# генерим алфавит
+alpha = [chr(i) for i in range(ord('A'), ord('Z') + 1)]
-x = len(alphabet)
+# Определяем какая буква по счету
+letter1 = alpha.index(a) + 1
+letter2 = alpha.index(b) + 1
+# подсчитываем колличество между бувами
+interval = letter2 - letter1 - 1
+# исправим на правильное написание слов
+text = []
+if interval % 10 in [1]:
+ text = 'буква'
+elif interval % 10 in [2, 3, 4]:
+ text = 'буквы'
+else:
+ text = 'букв'
+print('Первая буква стоит на', letter1, 'месте')
+print('Вторая буква стоит на', letter2, 'месте')
+print('Между ними', interval, text)
From 5b5a17c71ccfb60b41497815defd4188c48830fe Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 15:37:22 +0500
Subject: [PATCH 24/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/5.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ALGORITMS/Lesson_1/5.py b/ALGORITMS/Lesson_1/5.py
index c1a6c26..b33a5e8 100644
--- a/ALGORITMS/Lesson_1/5.py
+++ b/ALGORITMS/Lesson_1/5.py
@@ -14,6 +14,10 @@
# подсчитываем колличество между бувами
interval = letter2 - letter1 - 1
+# проверка на случай если буквы указаны не по возрастанию
+if letter2 < letter1:
+ interval = letter1 - letter2 - 1
+
# исправим на правильное написание слов
text = []
if interval % 10 in [1]:
From c11d4f3149d642a47a645215803b3e5647cce146 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 15:43:23 +0500
Subject: [PATCH 25/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index 4400060..74f6bad 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -27,7 +27,7 @@ def menu():
if option == '1':
print(random.randint(1, 100))
elif option == '2':
- print(float(random.randrange(101)))
+ print(float(random.randrange(100)))
elif option == '3':
print(random.choice('abcdef'))
From cf5153ace2eeab81e20faef099d4aeb7f62998c7 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 15:55:51 +0500
Subject: [PATCH 26/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index 74f6bad..afd6dc4 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -30,6 +30,8 @@ def menu():
print(float(random.randrange(100)))
elif option == '3':
print(random.choice('abcdef'))
+ else:
+ print('Только [1], [2], [3] или [0]')
if __name__ == '__main__':
option = input()
From a451a7be5ea39a9952208a5fc3c2b09b8f7daaea Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 15:58:51 +0500
Subject: [PATCH 27/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index afd6dc4..ee5ea30 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -9,7 +9,6 @@
"""
import random
-import sys
def menu():
From 2650a2078e50cf60d8d42b178e39e024521ccc4d Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 16:46:54 +0500
Subject: [PATCH 28/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=209?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/9.py | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/9.py b/ALGORITMS/Lesson_1/9.py
index 076b419..9095ac6 100644
--- a/ALGORITMS/Lesson_1/9.py
+++ b/ALGORITMS/Lesson_1/9.py
@@ -1,3 +1,17 @@
"""
9. Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).
-"""
\ No newline at end of file
+"""
+
+a = int(input('Введите первое число: '))
+b = int(input('Введите второе число: '))
+c = int(input('Введите третье число: '))
+
+if b < c < a or a < c < b:
+ print('среднее число ', c)
+elif a < b < c or c < b < a:
+ print('среднее число ', b)
+elif a == b or a == c or b == c:
+ print('При двух и более одинаковых числах не возможно определить среднее число')
+else:
+ print('среднее число ', a)
+
From 7d4d55cf3f95d4b715a936cf271cefd6a675585f Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 17:14:24 +0500
Subject: [PATCH 29/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/5.py | 10 +++++-----
ALGORITMS/Lesson_1/8.py | 8 +++++---
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/ALGORITMS/Lesson_1/5.py b/ALGORITMS/Lesson_1/5.py
index b33a5e8..7be5eb3 100644
--- a/ALGORITMS/Lesson_1/5.py
+++ b/ALGORITMS/Lesson_1/5.py
@@ -1,6 +1,6 @@
-# """
-# 5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят и сколько между ними находится букв.
-# """
+"""
+5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят и сколько между ними находится букв.
+"""
a, b = [i.upper() for i in input('Введите 2 буквы латинского алфавита слитно: ')]
@@ -20,9 +20,9 @@
# исправим на правильное написание слов
text = []
-if interval % 10 in [1]:
+if interval == 1 or interval == 21:
text = 'буква'
-elif interval % 10 in [2, 3, 4]:
+elif interval == 2 or interval == 3 or interval == 4 or interval == 22 or interval == 23 or interval == 24:
text = 'буквы'
else:
text = 'букв'
diff --git a/ALGORITMS/Lesson_1/8.py b/ALGORITMS/Lesson_1/8.py
index f9b48aa..05b48cf 100644
--- a/ALGORITMS/Lesson_1/8.py
+++ b/ALGORITMS/Lesson_1/8.py
@@ -1,3 +1,5 @@
-"""
-8. Определить, является ли год, который ввел пользователем, високосным или невисокосным.
-"""
\ No newline at end of file
+# """
+# 8. Определить, является ли год, который ввел пользователем, високосным или невисокосным.
+# """
+
+x = int(input)
\ No newline at end of file
From 9e1381dbb898632427e0254687b13be1ffecb6ca Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 17:42:53 +0500
Subject: [PATCH 30/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=206?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/6.py | 7 ++++++-
ALGORITMS/Lesson_1/8.py | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/ALGORITMS/Lesson_1/6.py b/ALGORITMS/Lesson_1/6.py
index fae1dc0..fddb9b1 100644
--- a/ALGORITMS/Lesson_1/6.py
+++ b/ALGORITMS/Lesson_1/6.py
@@ -1,3 +1,8 @@
"""
6. Пользователь вводит номер буквы в алфавите. Определить, какая это буква.
-"""
\ No newline at end of file
+"""
+
+num = int(input('Введите номер буквы от 1 до 26: '))
+
+alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+print('Номер', num, 'соответствует букве: ', alphabet[num - 1])
diff --git a/ALGORITMS/Lesson_1/8.py b/ALGORITMS/Lesson_1/8.py
index 05b48cf..d64ac0f 100644
--- a/ALGORITMS/Lesson_1/8.py
+++ b/ALGORITMS/Lesson_1/8.py
@@ -2,4 +2,4 @@
# 8. Определить, является ли год, который ввел пользователем, високосным или невисокосным.
# """
-x = int(input)
\ No newline at end of file
+x = int(input)
\ No newline at end of file
From 4a584b11452152bdcc09c5001f55073fef9b7522 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 17:51:53 +0500
Subject: [PATCH 31/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=208?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/8.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/ALGORITMS/Lesson_1/8.py b/ALGORITMS/Lesson_1/8.py
index d64ac0f..ae1ee35 100644
--- a/ALGORITMS/Lesson_1/8.py
+++ b/ALGORITMS/Lesson_1/8.py
@@ -1,5 +1,9 @@
-# """
-# 8. Определить, является ли год, который ввел пользователем, високосным или невисокосным.
-# """
+"""
+8. Определить, является ли год, который ввел пользователем, високосным или невисокосным.
+"""
-x = int(input)
\ No newline at end of file
+x = int(input('Введите год: '))
+if x % 4 == 0:
+ print('Этот год високосный')
+else:
+ print('Этот год обычный')
From 13fba2e4f0c5c43e45d16eaa917280721f0cd843 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 18:02:53 +0500
Subject: [PATCH 32/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=208?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/8.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/8.py b/ALGORITMS/Lesson_1/8.py
index ae1ee35..5485fbf 100644
--- a/ALGORITMS/Lesson_1/8.py
+++ b/ALGORITMS/Lesson_1/8.py
@@ -3,7 +3,9 @@
"""
x = int(input('Введите год: '))
-if x % 4 == 0:
+if x % 100 == 0 and x % 400 != 0:
+ print('Этот год обычный')
+elif x % 100 == 0 and x % 400 == 0 or x % 4 == 0:
print('Этот год високосный')
else:
print('Этот год обычный')
From da7f63a8f72c627a847f37cb05542e69c98a00e5 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 18:12:13 +0500
Subject: [PATCH 33/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index ee5ea30..ed776d1 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -12,11 +12,11 @@
def menu():
- print('\n\tМЕНЮ:\n')
- print('[1] Вывести случайное целое число')
- print('[2] Случайное вещественное число')
- print('[3] Случайный символ')
- print('[0] Выход')
+ print('\n\tМЕНЮ:\n\n\
+ [1] Вывести случайное целое число\n\
+ [2] Случайное вещественное число\n\
+ [3] Случайный символ\n\
+ [0] Выход')
menu()
From ee5f2f51c66959597a31c3966dad9cb42e609576 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 18:33:17 +0500
Subject: [PATCH 34/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=203?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/3.py | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/3.py b/ALGORITMS/Lesson_1/3.py
index ecf4ed4..9386820 100644
--- a/ALGORITMS/Lesson_1/3.py
+++ b/ALGORITMS/Lesson_1/3.py
@@ -1,3 +1,16 @@
"""
3. По введенным пользователем координатам двух точек вывести уравнение прямой вида y=kx+b, проходящей через эти точки.
-"""
\ No newline at end of file
+"""
+
+print('Координаты точки A(x1,y1): ')
+x1 = int(input('\tx1 = '))
+y1 = int(input('\ty1 = '))
+
+print('Координаты точки B(x2,y2): ')
+x2 = int(input('\tx2 = '))
+y2 = int(input("\ty2 = "))
+
+print('Уравнение прямой, проходящей через эти точки:')
+k = (y1 - y2) / (x1 - x2)
+b = y2 - k * x2
+print('\ty = %.2f*x + %.2f' % (k, b))
From 13f7d5da6a73fedbd85a3dd0ab1e364febc5d218 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 20:57:30 +0500
Subject: [PATCH 35/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/7.py | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/7.py b/ALGORITMS/Lesson_1/7.py
index 24ee2b4..2201238 100644
--- a/ALGORITMS/Lesson_1/7.py
+++ b/ALGORITMS/Lesson_1/7.py
@@ -2,4 +2,18 @@
7. По длинам трех отрезков, введенных пользователем, определить возможность существования треугольника,
составленного из этих отрезков. Если такой треугольник существует, то определить, является ли он разносторонним,
равнобедренным или равносторонним.
-"""
\ No newline at end of file
+"""
+
+a = abs(int(input('Введите длину первого отрезка: ')))
+b = abs(int(input('Введите длину второго отрезка: ')))
+c = abs(int(input('Введите длину третьего отрезка: ')))
+
+if a < b + c and b < a + c and c < a + b:
+ if a == c and c == b:
+ print(f'{a} x {b} x {c} - Равносторонний треугольник')
+ elif a == c or c == b or a == b:
+ print(f'{a} x {b} x {c} - Равнобедренный треугольник')
+ else:
+ print(f'{a} x {b} x {c} - Разносторонний треугольник')
+else:
+ print(f'{a} x {b} x {c} - Треугольник не существует')
From fe98f66fc4ac6b7875fa7a06a499b4dd6fea9883 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 21:10:14 +0500
Subject: [PATCH 36/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/2.py | 41 ++++++++++++++++++++++++++++++++---------
1 file changed, 32 insertions(+), 9 deletions(-)
diff --git a/ALGORITMS/Lesson_1/2.py b/ALGORITMS/Lesson_1/2.py
index 3674960..798050f 100644
--- a/ALGORITMS/Lesson_1/2.py
+++ b/ALGORITMS/Lesson_1/2.py
@@ -4,14 +4,37 @@
Объяснить полученный результат.
"""
+n1 = 5
+n2 = 6
-a = 5
-print(a, '=', bin(a)[2:])
-b = 6
-print(b, '=', bin(b)[2:])
+# "ИЛИ" оператор копирует бит, если тот присутствует в хотя бы в одном операнде.
+bit_or = n1 | n2
-print(f'a & b: {a & b} = {bin(a & b)}')
-print(f'a ^ b: {a ^ b} = {bin(a ^ b)}')
-print(f'a | b: {a | b} = {bin(a | b)}')
-print(f'{b} << 2: {b << 2} = {bin(b << 2)}')
-print(f'{b} >> 2: {b >> 2} = {bin(b >> 2)}')
+# "Исключительное ИЛИ" оператор копирует бит только если бит присутствует в одном из операндов, но не в обоих сразу.
+bit_xor = n1 ^ n2
+
+# "И" оператор, копирует бит в результат только если бит присутствует в обоих операндах.
+bit_and = n1 & n2
+
+# Побитовое отрицание меняет биты на обратные, там где была единица становиться ноль и наоборот.
+bit_not_n1 = ~n1
+bit_not_n2 = ~n2
+
+# Побитовый сдвиг вправо. Значение левого операнда "сдвигается" вправо на количество бит указанных в правом операнде.
+bit_shift_right = n1 >> 2
+
+# Побитовый сдвиг влево. Значение левого операнда "сдвигается" влево на количество бит указанных в правом операнде.
+bit_shift_left = n1 << 2
+
+print(f'Побитовое «ИЛИ» (OR) для {bin(n1)} и {bin(n2)}: {bin(bit_or)} ({bit_or})')
+
+print(f'Исключающее «ИЛИ» (XOR) для {bin(n1)} и {bin(n2)}: {bin(bit_xor)} ({bit_xor})')
+
+print(f'Побитовое «И» (AND) для {bin(n1)} и {bin(n2)}: {bin(bit_and)} ({bit_and})')
+
+print(f'Побитовое отрицание (NOT) для {bin(n1)}: {bin(bit_not_n1)} ({bit_not_n1})'
+ f' и для {bin(n2)}: {bin(bit_not_n2)} ({bit_not_n2})')
+
+print(f'Битовый сдвиг вправо для {bin(n1)}: {bin(bit_shift_right)} ({bit_shift_right})')
+
+print(f'Битовый сдвиг влево для {bin(n1)}: {bin(bit_shift_left)} ({bit_shift_left})')
From 3f025e57833de3beec86089b2f24e31c4ced951c Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 21:22:14 +0500
Subject: [PATCH 37/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=203?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/3.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/3.py b/ALGORITMS/Lesson_1/3.py
index 9386820..fbc1b4a 100644
--- a/ALGORITMS/Lesson_1/3.py
+++ b/ALGORITMS/Lesson_1/3.py
@@ -10,7 +10,7 @@
x2 = int(input('\tx2 = '))
y2 = int(input("\ty2 = "))
-print('Уравнение прямой, проходящей через эти точки:')
+print('Уравнение прямой, проходящей через эти точки: ')
k = (y1 - y2) / (x1 - x2)
b = y2 - k * x2
print('\ty = %.2f*x + %.2f' % (k, b))
From 43a217c9b1768481b445c1e5cc32cce7924bf995 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 12 Jul 2021 21:23:15 +0500
Subject: [PATCH 38/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=203?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/3.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_1/3.py b/ALGORITMS/Lesson_1/3.py
index fbc1b4a..8f14b06 100644
--- a/ALGORITMS/Lesson_1/3.py
+++ b/ALGORITMS/Lesson_1/3.py
@@ -8,7 +8,7 @@
print('Координаты точки B(x2,y2): ')
x2 = int(input('\tx2 = '))
-y2 = int(input("\ty2 = "))
+y2 = int(input('\ty2 = '))
print('Уравнение прямой, проходящей через эти точки: ')
k = (y1 - y2) / (x1 - x2)
From 9f2aca5721177ed4d602a14b40716132495cfa95 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 13 Jul 2021 05:08:54 +0500
Subject: [PATCH 39/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index ed776d1..716a764 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -19,16 +19,32 @@ def menu():
[0] Выход')
+def num_choice():
+ print('Введите интервал: ')
+ a = int(input('Первое число: '))
+ b = int(input('Второе число: '))
+ res = random.randint(a, b)
+ return res
+
+
+def alpha_choice():
+ print('Введите интервал: ')
+ c = input('Первая буква: ')
+ d = input('Вторая буква: ')
+ list_abc = [chr(i) for i in range(ord(c), ord(d) + 1)]
+ return random.choice(list_abc)
+
+
menu()
option = input()
while option != '0':
if option == '1':
- print(random.randint(1, 100))
+ print(num_choice())
elif option == '2':
- print(float(random.randrange(100)))
+ print(float(num_choice()))
elif option == '3':
- print(random.choice('abcdef'))
+ print(alpha_choice())
else:
print('Только [1], [2], [3] или [0]')
From c77502358ecf9ddc5ce0a4b890730f11834151e1 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 13 Jul 2021 05:10:41 +0500
Subject: [PATCH 40/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index 716a764..3984ae0 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -23,8 +23,7 @@ def num_choice():
print('Введите интервал: ')
a = int(input('Первое число: '))
b = int(input('Второе число: '))
- res = random.randint(a, b)
- return res
+ return random.randint(a, b)
def alpha_choice():
From 82cdd0df3bd14b2994591bcef78800c1a4dd15d7 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 13 Jul 2021 05:18:21 +0500
Subject: [PATCH 41/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index 3984ae0..eafb6ec 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -23,6 +23,8 @@ def num_choice():
print('Введите интервал: ')
a = int(input('Первое число: '))
b = int(input('Второе число: '))
+ if a > b:
+ return random.randint(b, a)
return random.randint(a, b)
@@ -31,6 +33,8 @@ def alpha_choice():
c = input('Первая буква: ')
d = input('Вторая буква: ')
list_abc = [chr(i) for i in range(ord(c), ord(d) + 1)]
+ if ord(c) > ord(d):
+ list_abc = [chr(i) for i in range(ord(d), ord(c) + 1)]
return random.choice(list_abc)
From dc9042d352d84137c13be74ac56831b10eafb0c0 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 13 Jul 2021 06:14:12 +0500
Subject: [PATCH 42/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index eafb6ec..1fd5a3b 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -30,8 +30,8 @@ def num_choice():
def alpha_choice():
print('Введите интервал: ')
- c = input('Первая буква: ')
- d = input('Вторая буква: ')
+ c = str(input('Первая буква: '))
+ d = str(input('Вторая буква: '))
list_abc = [chr(i) for i in range(ord(c), ord(d) + 1)]
if ord(c) > ord(d):
list_abc = [chr(i) for i in range(ord(d), ord(c) + 1)]
@@ -43,13 +43,19 @@ def alpha_choice():
while option != '0':
if option == '1':
- print(num_choice())
+ try:
+ print(num_choice())
+ except ValueError as e:
+ print(e)
elif option == '2':
- print(float(num_choice()))
+ try:
+ print(float(num_choice()))
+ except ValueError as e:
+ print(e)
elif option == '3':
print(alpha_choice())
- else:
- print('Только [1], [2], [3] или [0]')
+
+ print('Меню: [1], [2], [3] или [0]')
if __name__ == '__main__':
option = input()
From d1a08a30cf4004a8d80085324203dc6b1a768227 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 14 Jul 2021 20:05:18 +0500
Subject: [PATCH 43/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index 1fd5a3b..dbba685 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -20,7 +20,7 @@ def menu():
def num_choice():
- print('Введите интервал: ')
+ print('Задайте границы диапазона: ')
a = int(input('Первое число: '))
b = int(input('Второе число: '))
if a > b:
@@ -29,13 +29,16 @@ def num_choice():
def alpha_choice():
- print('Введите интервал: ')
- c = str(input('Первая буква: '))
- d = str(input('Вторая буква: '))
- list_abc = [chr(i) for i in range(ord(c), ord(d) + 1)]
- if ord(c) > ord(d):
- list_abc = [chr(i) for i in range(ord(d), ord(c) + 1)]
- return random.choice(list_abc)
+ print('Задайте границы диапазона: ')
+ c = input('Первая буква: ')
+ d = input('Вторая буква: ')
+ if c.isdigit() or d.isdigit():
+ return '\nОшибка ввода!\n'
+ else:
+ list_abc = [chr(i) for i in range(ord(c), ord(d) + 1)]
+ if ord(c) > ord(d):
+ list_abc = [chr(i) for i in range(ord(d), ord(c) + 1)]
+ return random.choice(list_abc)
menu()
@@ -45,13 +48,13 @@ def alpha_choice():
if option == '1':
try:
print(num_choice())
- except ValueError as e:
- print(e)
+ except ValueError:
+ print('\nОшибка ввода!\n')
elif option == '2':
try:
print(float(num_choice()))
- except ValueError as e:
- print(e)
+ except ValueError:
+ print('\nОшибка ввода!\n')
elif option == '3':
print(alpha_choice())
@@ -59,9 +62,3 @@ def alpha_choice():
if __name__ == '__main__':
option = input()
-
-
-
-
-
-
From 0560fe09c3abff54201bbdd53e51e2a09324734e Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 14 Jul 2021 20:21:35 +0500
Subject: [PATCH 44/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/4.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/ALGORITMS/Lesson_1/4.py b/ALGORITMS/Lesson_1/4.py
index dbba685..19f034f 100644
--- a/ALGORITMS/Lesson_1/4.py
+++ b/ALGORITMS/Lesson_1/4.py
@@ -32,13 +32,13 @@ def alpha_choice():
print('Задайте границы диапазона: ')
c = input('Первая буква: ')
d = input('Вторая буква: ')
- if c.isdigit() or d.isdigit():
- return '\nОшибка ввода!\n'
+ if c == '' or d == '' or c.isdigit() or d.isdigit():
+ res = '\nОшибка ввода!\n'
+ elif ord(c) < ord(d):
+ res = random.choice([chr(i) for i in range(ord(c), ord(d) + 1)])
else:
- list_abc = [chr(i) for i in range(ord(c), ord(d) + 1)]
- if ord(c) > ord(d):
- list_abc = [chr(i) for i in range(ord(d), ord(c) + 1)]
- return random.choice(list_abc)
+ res = random.choice([chr(i) for i in range(ord(d), ord(c) + 1)])
+ return res
menu()
From 40ae3b63a81840169cd693edaed7a4b15632fe59 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Sun, 18 Jul 2021 20:34:02 +0500
Subject: [PATCH 45/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/1.py | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 ALGORITMS/Lesson_2/1.py
diff --git a/ALGORITMS/Lesson_2/1.py b/ALGORITMS/Lesson_2/1.py
new file mode 100644
index 0000000..a0359b1
--- /dev/null
+++ b/ALGORITMS/Lesson_2/1.py
@@ -0,0 +1,35 @@
+def menu():
+ print('[+] Сложение\n'
+ '[-] Вычитание\n'
+ '[*] Умножение\n'
+ '[/] Деление\n'
+ '[0] Выход')
+
+
+menu()
+option = input()
+
+while option != '0':
+ if option == '+':
+ a = int(input('Введите первое число:'))
+ b = int(input('Введите второе число:'))
+ print(f'{a} + {b} =', a + b)
+ elif option == '-':
+ a = int(input('Введите первое число:'))
+ b = int(input('Введите второе число:'))
+ print(f'{a} - {b} =', a - b)
+ elif option == '*':
+ a = int(input('Введите первое число:'))
+ b = int(input('Введите второе число:'))
+ print(f'{a} * {b} =', a * b)
+ elif option == '/':
+ try:
+ a = int(input('Введите первое число:'))
+ b = int(input('Введите второе число:'))
+ print(f'{a} / {b} =', round(a / b, 4))
+ except ZeroDivisionError:
+ print('Ошибка! На <0> делить нельзя!')
+ else:
+ print('Ошибка, введите правильный символ:')
+ menu()
+ option = input()
From 454022ceb6bc5b01287f00f59fca53101b91c066 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Sun, 18 Jul 2021 20:35:25 +0500
Subject: [PATCH 46/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/1.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/ALGORITMS/Lesson_2/1.py b/ALGORITMS/Lesson_2/1.py
index a0359b1..d1c8b11 100644
--- a/ALGORITMS/Lesson_2/1.py
+++ b/ALGORITMS/Lesson_2/1.py
@@ -33,3 +33,4 @@ def menu():
print('Ошибка, введите правильный символ:')
menu()
option = input()
+
From a734f0f15283f261dbd9af98df851726a77c2adf Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Sun, 18 Jul 2021 20:50:06 +0500
Subject: [PATCH 47/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/1.py | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/ALGORITMS/Lesson_2/1.py b/ALGORITMS/Lesson_2/1.py
index d1c8b11..6422350 100644
--- a/ALGORITMS/Lesson_2/1.py
+++ b/ALGORITMS/Lesson_2/1.py
@@ -1,3 +1,13 @@
+'''
+1. Написать программу, которая будет складывать, вычитать, умножать или делить два числа.
+Числа и знак операции вводятся пользователем. После выполнения вычисления программа не должна завершаться,
+а должна запрашивать новые данные для вычислений. Завершение программы должно выполняться при вводе символа '0'
+в качестве знака операции. Если пользователь вводит неверный знак (не '0', '+', '-', '*', '/'), то программа должна
+сообщать ему об ошибке и снова запрашивать знак операции. Также сообщать пользователю о невозможности деления на ноль,
+если он ввел 0 в качестве делителя.
+'''
+
+
def menu():
print('[+] Сложение\n'
'[-] Вычитание\n'
From 9d6e0b0200e00cb8ef815ec4d8df2e5a50095595 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Sun, 18 Jul 2021 21:33:38 +0500
Subject: [PATCH 48/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/2.py | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 ALGORITMS/Lesson_2/2.py
diff --git a/ALGORITMS/Lesson_2/2.py b/ALGORITMS/Lesson_2/2.py
new file mode 100644
index 0000000..6ce2aad
--- /dev/null
+++ b/ALGORITMS/Lesson_2/2.py
@@ -0,0 +1,20 @@
+'''
+2. Посчитать четные и нечетные цифры введенного натурального числа. Например, если введено число 34560,
+то у него 3 четные цифры (4, 6 и 0) и 2 нечетные (3 и 5).
+'''
+
+
+number = input('Введите число: ')
+even = 0
+odd = 0
+num_even = []
+num_odd = []
+for f in number:
+ i = int(f)
+ if i % 2 == 0:
+ num_even.append(i)
+ even += 1
+ else:
+ num_odd.append(i)
+ odd += 1
+print(f'У числа {number}: {even} четных {num_even} и {odd} нечетные {num_odd}')
From eadf5e337914e736005ca8ba09fb8eaf32cd7df1 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Sun, 18 Jul 2021 21:42:52 +0500
Subject: [PATCH 49/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=203?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/3.py | 7 +++++++
1 file changed, 7 insertions(+)
create mode 100644 ALGORITMS/Lesson_2/3.py
diff --git a/ALGORITMS/Lesson_2/3.py b/ALGORITMS/Lesson_2/3.py
new file mode 100644
index 0000000..955a9fc
--- /dev/null
+++ b/ALGORITMS/Lesson_2/3.py
@@ -0,0 +1,7 @@
+'''
+3. Сформировать из введенного числа обратное по порядку входящих в него цифр и вывести на экран.
+Например, если введено число 3486, то надо вывести число 6843.
+'''
+
+number = input('Введите число: ')
+print(number[::-1])
From 91c61a9ce8d6c312f0cc6f103fd09036188c2546 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 19 Jul 2021 23:18:58 +0500
Subject: [PATCH 50/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/4.py | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 ALGORITMS/Lesson_2/4.py
diff --git a/ALGORITMS/Lesson_2/4.py b/ALGORITMS/Lesson_2/4.py
new file mode 100644
index 0000000..6364e38
--- /dev/null
+++ b/ALGORITMS/Lesson_2/4.py
@@ -0,0 +1,23 @@
+'''
+4. Найти сумму n элементов следующего ряда чисел: 1 -0.5 0.25 -0.125
+Количество элементов (n) вводится с клавиатуры.
+'''
+
+
+n = int(input('Введите количество элементов: '))
+i = 0
+range_number = 1
+sum = 0
+while i < n:
+ sum += range_number
+ range_number /= -2
+ i += 1
+
+print(f'Сумма {sum}')
+
+nums = 1, -0.5, 0.25, -0.125
+n1 = int(input('Введите количество элементов: '))
+for i in nums:
+ res = sum(n1)
+ print(res)
+
From a5f861da828dd928b66b54fbf6b748426e4b0b41 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 19 Jul 2021 23:20:46 +0500
Subject: [PATCH 51/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=206?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/6.py | 46 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 ALGORITMS/Lesson_2/6.py
diff --git a/ALGORITMS/Lesson_2/6.py b/ALGORITMS/Lesson_2/6.py
new file mode 100644
index 0000000..c2327d3
--- /dev/null
+++ b/ALGORITMS/Lesson_2/6.py
@@ -0,0 +1,46 @@
+'''
+6. В программе генерируется случайное целое число от 0 до 100. Пользователь должен его отгадать не более чем за 10 попыток.
+После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем то, что загадано.
+Если за 10 попыток число не отгадано, то вывести загаданное число.
+'''
+
+
+import random
+
+print('\nИгра угадай число от 0 до 100 за 10 попыток.\n')
+
+
+def menu():
+ print('[Y] - Играть ')
+ print('[N] - Выйти ')
+
+
+menu()
+option = input()
+rnd = random.randint(0, 100)
+count = 0
+
+while option != 'N':
+ while count != 10:
+ my = int(input('Введи число : '))
+ if my < rnd:
+ print(f'Загаданное число больше {my}')
+ elif my > rnd:
+ print(f'Загаданное число меньше {my}')
+ else:
+ print(f'\nВы угадали число "{rnd}" за {count + 1} попыток\n')
+ menu()
+ option = input()
+ count = -1
+ if option == 'N':
+ break
+ rnd = random.randint(0, 100)
+ count += 1
+ else:
+ print(f'Вы не угадали число за {count} попыток... Загаданное число "{rnd}"\n')
+ menu()
+ option = input()
+ count = 0
+ if option == 'N':
+ break
+ rnd = random.randint(0, 100)
From c1a01ceced74c1fc53a5637d08d59efac687f54f Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Mon, 19 Jul 2021 23:31:38 +0500
Subject: [PATCH 52/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/4.py | 21 ++++++++-------------
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/ALGORITMS/Lesson_2/4.py b/ALGORITMS/Lesson_2/4.py
index 6364e38..eeaae38 100644
--- a/ALGORITMS/Lesson_2/4.py
+++ b/ALGORITMS/Lesson_2/4.py
@@ -5,19 +5,14 @@
n = int(input('Введите количество элементов: '))
-i = 0
-range_number = 1
-sum = 0
-while i < n:
- sum += range_number
- range_number /= -2
- i += 1
-print(f'Сумма {sum}')
+N = 0
+range = 1
+sum = 0
-nums = 1, -0.5, 0.25, -0.125
-n1 = int(input('Введите количество элементов: '))
-for i in nums:
- res = sum(n1)
- print(res)
+while N < n:
+ sum += range
+ range /= -2
+ N += 1
+print('Сумма', sum)
From decfe5fc27565ad3f9f4cab3a32895eff8a8e564 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 20 Jul 2021 00:20:04 +0500
Subject: [PATCH 53/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/5.py | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 ALGORITMS/Lesson_2/5.py
diff --git a/ALGORITMS/Lesson_2/5.py b/ALGORITMS/Lesson_2/5.py
new file mode 100644
index 0000000..f5e5fb7
--- /dev/null
+++ b/ALGORITMS/Lesson_2/5.py
@@ -0,0 +1,11 @@
+'''
+5. Вывести на экран коды и символы таблицы ASCII, начиная с символа под номером 32 и заканчивая 127-м включительно.
+Вывод выполнить в табличной форме: по десять пар "код-символ" в каждой строке.
+'''
+
+for i in range(32, 128):
+ print('%6d-%s' % (i, chr(i)), end=' ')
+ if i % 10 == 1:
+ print()
+print()
+
From a70e5b3605fc6261c7d7b87735a7207413dd6bc7 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 20 Jul 2021 04:32:00 +0500
Subject: [PATCH 54/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/7.py | 22 ++++++++++++++++++++++
ALGORITMS/Lesson_2/8.py | 4 ++++
ALGORITMS/Lesson_2/9.py | 4 ++++
3 files changed, 30 insertions(+)
create mode 100644 ALGORITMS/Lesson_2/7.py
create mode 100644 ALGORITMS/Lesson_2/8.py
create mode 100644 ALGORITMS/Lesson_2/9.py
diff --git a/ALGORITMS/Lesson_2/7.py b/ALGORITMS/Lesson_2/7.py
new file mode 100644
index 0000000..dffd40b
--- /dev/null
+++ b/ALGORITMS/Lesson_2/7.py
@@ -0,0 +1,22 @@
+'''
+7. Напишите программу, доказывающую или проверяющую, что для множества натуральных чисел выполняется
+равенство: 1+2+...+n = n(n+1)/2, где n - любое натуральное число.
+'''
+from colorama import Fore, Style
+
+n = 1
+while n != 200:
+ left = 0
+ for i in range(1, n + 1):
+ left += i
+ right = n * (n + 1) // 2
+ n += 1
+ if left == right:
+ res = True
+ else:
+ res = False
+ print('=' * 10)
+ print(left)
+ print(right)
+ print(f'{Fore.GREEN}{res}!{Style.RESET_ALL}')
+
diff --git a/ALGORITMS/Lesson_2/8.py b/ALGORITMS/Lesson_2/8.py
new file mode 100644
index 0000000..45e14fc
--- /dev/null
+++ b/ALGORITMS/Lesson_2/8.py
@@ -0,0 +1,4 @@
+'''
+8. Посчитать, сколько раз встречается определенная цифра в введенной последовательности чисел.
+Количество вводимых чисел и цифра, которую необходимо посчитать, задаются вводом с клавиатуры.
+'''
\ No newline at end of file
diff --git a/ALGORITMS/Lesson_2/9.py b/ALGORITMS/Lesson_2/9.py
new file mode 100644
index 0000000..d164219
--- /dev/null
+++ b/ALGORITMS/Lesson_2/9.py
@@ -0,0 +1,4 @@
+'''
+9. Среди натуральных чисел, которые были введены, найти наибольшее по сумме цифр. Вывести на экран это число и сумму его цифр.
+'''
+
From 164884f5bcdf4025c71ae7b25fa23da937cd14c5 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 20 Jul 2021 05:00:25 +0500
Subject: [PATCH 55/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=208?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/8.py | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_2/8.py b/ALGORITMS/Lesson_2/8.py
index 45e14fc..3d86c89 100644
--- a/ALGORITMS/Lesson_2/8.py
+++ b/ALGORITMS/Lesson_2/8.py
@@ -1,4 +1,14 @@
'''
8. Посчитать, сколько раз встречается определенная цифра в введенной последовательности чисел.
Количество вводимых чисел и цифра, которую необходимо посчитать, задаются вводом с клавиатуры.
-'''
\ No newline at end of file
+'''
+
+number = input('Введите число: ')
+numeral = input('Введите цифру, которую необходимо посчитать: ')
+
+result = 0
+for i in number:
+ if i == numeral:
+ result += 1
+print(f'В числе {number} цифр {numeral} = {result} шт.')
+
From eb9c3ff35a2ff04d1b1ea9bbf90a10f471879744 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 20 Jul 2021 10:57:55 +0500
Subject: [PATCH 56/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=208?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/8.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_2/8.py b/ALGORITMS/Lesson_2/8.py
index 3d86c89..f6459cd 100644
--- a/ALGORITMS/Lesson_2/8.py
+++ b/ALGORITMS/Lesson_2/8.py
@@ -10,5 +10,5 @@
for i in number:
if i == numeral:
result += 1
-print(f'В числе {number} цифр {numeral} = {result} шт.')
+print(f'В числе {number} цифра {numeral} встречается {result} раз.')
From 340e50d030f42bcd62412fb6871e2a354193d02e Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 20 Jul 2021 11:26:57 +0500
Subject: [PATCH 57/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/1.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ALGORITMS/Lesson_1/1.py b/ALGORITMS/Lesson_1/1.py
index 2fa394e..9590c58 100644
--- a/ALGORITMS/Lesson_1/1.py
+++ b/ALGORITMS/Lesson_1/1.py
@@ -6,8 +6,8 @@
b = number % 100 // 10
c = number % 10
-print('\nСумма цифр трехзначного числа: ', a + b + c)
-print('Произведение цифр трехзначного числа: ', a * b * c)
+print('\nСумма цифр: ', a + b + c)
+print('Произведение цифр: ', a * b * c)
num = input('\n2 Вариант. Введите трехзначное целое число: ')
@@ -17,8 +17,8 @@
summa += int(i)
umn *= int(i)
-print('\nСумма цифр трехзначного числа: ', summa)
-print('Произведение цифр трехзначного числа: ', umn)
+print('\nСумма цифр: ', summa)
+print('Произведение цифр: ', umn)
From ff484130a5b56a60e213b4b838d1a84656394b1b Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 20 Jul 2021 12:21:06 +0500
Subject: [PATCH 58/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=209?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_2/9.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/ALGORITMS/Lesson_2/9.py b/ALGORITMS/Lesson_2/9.py
index d164219..d317636 100644
--- a/ALGORITMS/Lesson_2/9.py
+++ b/ALGORITMS/Lesson_2/9.py
@@ -2,3 +2,21 @@
9. Среди натуральных чисел, которые были введены, найти наибольшее по сумме цифр. Вывести на экран это число и сумму его цифр.
'''
+numbers = '22', '33', '555', '99', '1111',
+
+
+def sum_numbers(numbers):
+ summa = 0
+ for item in numbers:
+ summa += int(item)
+ return summa
+
+
+max_number = 0
+max_sum = 0
+for i in numbers:
+ if sum_numbers(i) > max_sum:
+ max_number = i
+ max_sum = sum_numbers(i)
+
+print(f'У числа {max_number} наибольшая сумма цифр = {max_sum}')
From 98c1aa4c38b369a18e84e8d96014f1171d3ac769 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 02:59:26 +0500
Subject: [PATCH 59/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/1.py | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/1.py
diff --git a/ALGORITMS/Lesson_3/1.py b/ALGORITMS/Lesson_3/1.py
new file mode 100644
index 0000000..c6a28f6
--- /dev/null
+++ b/ALGORITMS/Lesson_3/1.py
@@ -0,0 +1,11 @@
+'''
+1. В диапазоне натуральных чисел от 2 до 99 определить, сколько из них кратны каждому из чисел в диапазоне от 2 до 9.
+'''
+
+res = {}
+for i in range(2, 10):
+ res[i] = []
+ for j in range(2, 100):
+ if j % i == 0:
+ res[i].append(j)
+ print(f'Числу {i} кратны {len(res[i])} чисел: {res[i]}.')
From 728b9b3966b69c0b0eee24cd7d72b6d9e33524b6 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 03:00:26 +0500
Subject: [PATCH 60/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/1.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_3/1.py b/ALGORITMS/Lesson_3/1.py
index c6a28f6..f7d0f1b 100644
--- a/ALGORITMS/Lesson_3/1.py
+++ b/ALGORITMS/Lesson_3/1.py
@@ -8,4 +8,4 @@
for j in range(2, 100):
if j % i == 0:
res[i].append(j)
- print(f'Числу {i} кратны {len(res[i])} чисел: {res[i]}.')
+ print(f'Числу {i} кратны {len(res[i])} чисел: {res[i]}')
From e94ecd5942d48150f74682a849f16bd197caad92 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 03:48:53 +0500
Subject: [PATCH 61/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/2.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/2.py
diff --git a/ALGORITMS/Lesson_3/2.py b/ALGORITMS/Lesson_3/2.py
new file mode 100644
index 0000000..624c0ee
--- /dev/null
+++ b/ALGORITMS/Lesson_3/2.py
@@ -0,0 +1,14 @@
+'''
+2. Во втором массиве сохранить индексы четных элементов первого массива.
+Например, если дан массив со значениями 8, 3, 15, 6, 4, 2, то во второй массив
+надо заполнить значениями 1, 4, 5, 6 (или 0, 3, 4, 5 - если индексация начинается с нуля),
+т.к. именно в этих позициях первого массива стоят четные числа.
+'''
+
+array_1 = [8, 3, 15, 6, 4, 2]
+array_2 = []
+for i in array_1:
+ if i % 2 == 0:
+ array_2.append(array_1.index(i))
+print(array_1, ' - Первый массив')
+print(array_2, ' - Индексы четных элементов первого массива')
From 5f33516cac591ec19b721cbd599c47ef8983c50c Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 12:15:09 +0500
Subject: [PATCH 62/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=203?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/3.py | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/3.py
diff --git a/ALGORITMS/Lesson_3/3.py b/ALGORITMS/Lesson_3/3.py
new file mode 100644
index 0000000..d25073f
--- /dev/null
+++ b/ALGORITMS/Lesson_3/3.py
@@ -0,0 +1,17 @@
+'''
+3. В массиве случайных целых чисел поменять местами минимальный и максимальный элементы.
+'''
+import random
+
+
+arr = [random.randint(1, 1000) for i in range(10)]
+mini = min(arr)
+maxi = max(arr)
+min_index = arr.index(mini)
+max_index = arr.index(maxi)
+print('Минимальное число в массиве:', mini)
+print('Максимальное число в массиве:', maxi)
+print(arr, 'Начальный массив')
+arr[min_index], arr[max_index] = arr[max_index], arr[min_index]
+print(arr, 'Измененный массив')
+
From d9e37399dd283162155915b385053731fa93d4a9 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 15:19:30 +0500
Subject: [PATCH 63/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/4.py | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/4.py
diff --git a/ALGORITMS/Lesson_3/4.py b/ALGORITMS/Lesson_3/4.py
new file mode 100644
index 0000000..6e45aca
--- /dev/null
+++ b/ALGORITMS/Lesson_3/4.py
@@ -0,0 +1,16 @@
+'''
+4. Определить, какое число в массиве встречается чаще всего.
+'''
+
+import random
+
+
+arr = [random.randint(1, 9) for i in range(10)]
+
+# для проверки
+print('массив', arr, '\n')
+for i in set(arr):
+ print('число', i, 'в массиве', arr.count(i), 'шт.')
+
+# результат
+print('\nЧисло:', max(arr, key=arr.count), 'встречается в массиве чаще всего')
From c3abf822e5574cf49368f2db5e3f6d34bf9cc7be Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 15:28:19 +0500
Subject: [PATCH 64/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/4.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_3/4.py b/ALGORITMS/Lesson_3/4.py
index 6e45aca..2e0091a 100644
--- a/ALGORITMS/Lesson_3/4.py
+++ b/ALGORITMS/Lesson_3/4.py
@@ -5,7 +5,7 @@
import random
-arr = [random.randint(1, 9) for i in range(10)]
+arr = [random.randint(1, 4) for i in range(20)]
# для проверки
print('массив', arr, '\n')
From bdfc6cac5685c0b3c17f0c6fd05571b5c70d2965 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 15:49:52 +0500
Subject: [PATCH 65/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=204?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/5.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/5.py
diff --git a/ALGORITMS/Lesson_3/5.py b/ALGORITMS/Lesson_3/5.py
new file mode 100644
index 0000000..8c8e1d9
--- /dev/null
+++ b/ALGORITMS/Lesson_3/5.py
@@ -0,0 +1,14 @@
+'''
+5. В массиве найти максимальный отрицательный элемент. Вывести на экран его значение и позицию в массиве.
+'''
+
+import random
+
+arr = [random.randint(-100, 100) for i in range(10)]
+print('\n', arr)
+print('\n Максимальный отрицательный элемент:', min(arr))
+
+for i in range(len(arr)):
+ mini = min(arr)
+ ind = arr.index(mini)
+print(' Находится на позиции:', ind + 1)
From 252430542198c94ab61d441431a81fd96c58930a Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 18:44:07 +0500
Subject: [PATCH 66/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=205?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/5.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ALGORITMS/Lesson_3/5.py b/ALGORITMS/Lesson_3/5.py
index 8c8e1d9..f8fd8f9 100644
--- a/ALGORITMS/Lesson_3/5.py
+++ b/ALGORITMS/Lesson_3/5.py
@@ -4,11 +4,11 @@
import random
-arr = [random.randint(-100, 100) for i in range(10)]
+arr = [random.randint(-100, 100) for _ in range(10)]
print('\n', arr)
print('\n Максимальный отрицательный элемент:', min(arr))
-for i in range(len(arr)):
+for _ in range(len(arr)):
mini = min(arr)
ind = arr.index(mini)
print(' Находится на позиции:', ind + 1)
From 7fcd9b0727db6e6e23e1059f760f17bf9c15e194 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 20:43:33 +0500
Subject: [PATCH 67/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=206?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/6.py | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/6.py
diff --git a/ALGORITMS/Lesson_3/6.py b/ALGORITMS/Lesson_3/6.py
new file mode 100644
index 0000000..c5a934f
--- /dev/null
+++ b/ALGORITMS/Lesson_3/6.py
@@ -0,0 +1,23 @@
+'''
+6. В одномерном массиве найти сумму элементов, находящихся между минимальным и максимальным элементами.
+Сами минимальный и максимальный элементы в сумму не включать.
+'''
+
+import random
+
+arr = [random.randint(1, 99) for _ in range(11)]
+print('\n', arr)
+
+mini = min(arr)
+maxi = max(arr)
+min_ind = arr.index(mini)
+max_ind = arr.index(maxi)
+print('\n Минимальный элемент', mini, 'с индексом', min_ind)
+print(' Максимальный элемент', maxi, 'с индексом', max_ind)
+
+res = 0
+if min_ind < max_ind:
+ res += sum(arr[min_ind + 1:max_ind])
+else:
+ res += sum(arr[max_ind + 1:min_ind])
+print('\n Сумма элементов, находящихся между минимальным и максимальным элементами =', res)
From 2126f156e61a7b35cceb12cbefcafa63fd0c462a Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 21 Jul 2021 21:10:36 +0500
Subject: [PATCH 68/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/7.py | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/7.py
diff --git a/ALGORITMS/Lesson_3/7.py b/ALGORITMS/Lesson_3/7.py
new file mode 100644
index 0000000..d96c209
--- /dev/null
+++ b/ALGORITMS/Lesson_3/7.py
@@ -0,0 +1,22 @@
+'''
+7. В одномерном массиве целых чисел определить два наименьших элемента.
+Они могут быть как равны между собой (оба являться минимальными), так и различаться.
+'''
+
+import random
+
+arr = [random.randint(1, 99) for _ in range(11)]
+print('\n', arr)
+
+mini_1 = min(arr)
+min_ind = arr.index(mini_1)
+
+del arr[min_ind]
+
+mini_2 = min(arr)
+print(' Два наименьших элемента в массиве', mini_1, 'и', mini_2)
+
+
+
+
+
From 33a6070e946a24bbe8d9f78c453b02c6d2cd35a6 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 22 Jul 2021 01:01:09 +0500
Subject: [PATCH 69/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/7.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/ALGORITMS/Lesson_3/7.py b/ALGORITMS/Lesson_3/7.py
index d96c209..7922eef 100644
--- a/ALGORITMS/Lesson_3/7.py
+++ b/ALGORITMS/Lesson_3/7.py
@@ -3,18 +3,21 @@
Они могут быть как равны между собой (оба являться минимальными), так и различаться.
'''
+
import random
arr = [random.randint(1, 99) for _ in range(11)]
print('\n', arr)
+sort_arr = sorted(arr)
+print(' Два наименьших элемента в массиве', sort_arr[0], 'и', sort_arr[1], '- легкий вариант через сортировку')
+
+
mini_1 = min(arr)
min_ind = arr.index(mini_1)
-
del arr[min_ind]
-
mini_2 = min(arr)
-print(' Два наименьших элемента в массиве', mini_1, 'и', mini_2)
+print(' Два наименьших элемента в массиве', mini_1, 'и', mini_2, '- совершенно бредовый вариант, но тоже сработало ;)')
From ef1fea867e4a681c1731cc54302a574557aadfff Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 22 Jul 2021 02:19:10 +0500
Subject: [PATCH 70/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=208?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/8.py | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/8.py
diff --git a/ALGORITMS/Lesson_3/8.py b/ALGORITMS/Lesson_3/8.py
new file mode 100644
index 0000000..5e3ff62
--- /dev/null
+++ b/ALGORITMS/Lesson_3/8.py
@@ -0,0 +1,22 @@
+'''
+8. Матрица 5x4 заполняется вводом с клавиатуры кроме последних элементов строк.
+Программа должна вычислять сумму введенных элементов каждой строки и записывать ее в последнюю ячейку строки.
+В конце следует вывести полученную матрицу.
+'''
+
+M = 5
+N = 4
+a = []
+for i in range(N):
+ b = []
+ s = 0
+ print("%d-я строка:" % i)
+ for j in range(M - 1):
+ n = int(input())
+ s += n
+ b.append(n)
+ b.append(s)
+ a.append(b)
+
+for i in a:
+ print(i)
From a42f9e5d3f2ea97dc008709fe3035b264f4d5da5 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 22 Jul 2021 03:30:25 +0500
Subject: [PATCH 71/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=208?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/9.py | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 ALGORITMS/Lesson_3/9.py
diff --git a/ALGORITMS/Lesson_3/9.py b/ALGORITMS/Lesson_3/9.py
new file mode 100644
index 0000000..f3aae22
--- /dev/null
+++ b/ALGORITMS/Lesson_3/9.py
@@ -0,0 +1,31 @@
+'''
+9. Найти максимальный элемент среди минимальных элементов столбцов матрицы.
+'''
+
+import random
+
+num = []
+
+for i in range(4):
+ num.append([])
+ num[i].extend([random.randint(0, 99) for _ in range(8)])
+
+min_list = []
+min_list.extend(num[0])
+
+for string in num:
+ print()
+ print(('{:4d} ' * len(string)).format(*string))
+ i = 0
+ for j in string:
+ if j < min_list[i]:
+ min_list[i] = j
+ i += 1
+
+print()
+print('\tМинимальные числа в столбцах\n')
+print(('{:4d} ' * len(min_list)).format(*min_list))
+print()
+
+min_list.sort(reverse=True)
+print('Максимальный элемент среди минимальных элементов столбцов матрицы:', min_list[0])
From 20d3e3c90fc438efe5375726b0839fbcda1a78c4 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 22 Jul 2021 03:32:04 +0500
Subject: [PATCH 72/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=209?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/9.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ALGORITMS/Lesson_3/9.py b/ALGORITMS/Lesson_3/9.py
index f3aae22..9d41557 100644
--- a/ALGORITMS/Lesson_3/9.py
+++ b/ALGORITMS/Lesson_3/9.py
@@ -29,3 +29,7 @@
min_list.sort(reverse=True)
print('Максимальный элемент среди минимальных элементов столбцов матрицы:', min_list[0])
+
+
+
+
From e2d8141f4082021e3400086ec98bb78fcc884be3 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 22 Jul 2021 03:33:11 +0500
Subject: [PATCH 73/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=209?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/9.py | 4 ----
1 file changed, 4 deletions(-)
diff --git a/ALGORITMS/Lesson_3/9.py b/ALGORITMS/Lesson_3/9.py
index 9d41557..f3aae22 100644
--- a/ALGORITMS/Lesson_3/9.py
+++ b/ALGORITMS/Lesson_3/9.py
@@ -29,7 +29,3 @@
min_list.sort(reverse=True)
print('Максимальный элемент среди минимальных элементов столбцов матрицы:', min_list[0])
-
-
-
-
From c5a6b28b405396ab7fcdf5e4c1fe028e516dd013 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 22 Jul 2021 12:18:41 +0500
Subject: [PATCH 74/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_3/7.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/ALGORITMS/Lesson_3/7.py b/ALGORITMS/Lesson_3/7.py
index 7922eef..f3217ff 100644
--- a/ALGORITMS/Lesson_3/7.py
+++ b/ALGORITMS/Lesson_3/7.py
@@ -15,9 +15,11 @@
mini_1 = min(arr)
min_ind = arr.index(mini_1)
-del arr[min_ind]
-mini_2 = min(arr)
-print(' Два наименьших элемента в массиве', mini_1, 'и', mini_2, '- совершенно бредовый вариант, но тоже сработало ;)')
+new_arr = arr[:]
+del new_arr[min_ind]
+mini_2 = min(new_arr)
+print('\n', arr)
+print(' Два наименьших элемента в массиве', mini_1, 'и', mini_2, '- вариант с копией основного массива ;)')
From cefa508841e3b34804f39753c9721861f8482258 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Sun, 25 Jul 2021 17:38:03 +0500
Subject: [PATCH 75/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/7.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/ALGORITMS/Lesson_1/7.py b/ALGORITMS/Lesson_1/7.py
index 2201238..963cfb5 100644
--- a/ALGORITMS/Lesson_1/7.py
+++ b/ALGORITMS/Lesson_1/7.py
@@ -7,6 +7,7 @@
a = abs(int(input('Введите длину первого отрезка: ')))
b = abs(int(input('Введите длину второго отрезка: ')))
c = abs(int(input('Введите длину третьего отрезка: ')))
+# a, b, c = map(int, input(f'Введите через пробел длину 1, 2, 3 отрезка: ').split())
if a < b + c and b < a + c and c < a + b:
if a == c and c == b:
From 1b329440af2483dc41d428067e96515528697ec2 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Tue, 27 Jul 2021 17:04:10 +0500
Subject: [PATCH 76/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=207?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_1/7.py | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/ALGORITMS/Lesson_1/7.py b/ALGORITMS/Lesson_1/7.py
index 963cfb5..a511005 100644
--- a/ALGORITMS/Lesson_1/7.py
+++ b/ALGORITMS/Lesson_1/7.py
@@ -4,17 +4,18 @@
равнобедренным или равносторонним.
"""
-a = abs(int(input('Введите длину первого отрезка: ')))
-b = abs(int(input('Введите длину второго отрезка: ')))
-c = abs(int(input('Введите длину третьего отрезка: ')))
-# a, b, c = map(int, input(f'Введите через пробел длину 1, 2, 3 отрезка: ').split())
+b = []
+for i in range(3):
+ x = int(input(f'Введите через пробел длину {i+1} отрезка: '))
+ b.append(x)
-if a < b + c and b < a + c and c < a + b:
- if a == c and c == b:
- print(f'{a} x {b} x {c} - Равносторонний треугольник')
- elif a == c or c == b or a == b:
- print(f'{a} x {b} x {c} - Равнобедренный треугольник')
+if b[0] < b[1] + b[2] and b[1] < b[0] + b[2] and b[2] < b[0] + b[1]:
+ if b[0] == b[2] and b[2] == b[1]:
+ print(f'{b[0]} x {b[1]} x {b[2]} - Равносторонний треугольник')
+ elif b[0] == b[2] or b[2] == b[1] or b[0] == b[1]:
+ print(f'{b[0]} x {b[1]} x {b[2]} - Равнобедренный треугольник')
else:
- print(f'{a} x {b} x {c} - Разносторонний треугольник')
+ print(f'{b[0]} x {b[1]} x {b[2]} - Разносторонний треугольник')
else:
- print(f'{a} x {b} x {c} - Треугольник не существует')
+ print(f'{b[0]} x {b[1]} x {b[2]} - Треугольник не существует')
+
From 83a8c58de1c4b90fa6d60d143784ad3ea0253a78 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 28 Jul 2021 03:58:36 +0500
Subject: [PATCH 77/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_5/2.py | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 ALGORITMS/Lesson_5/2.py
diff --git a/ALGORITMS/Lesson_5/2.py b/ALGORITMS/Lesson_5/2.py
new file mode 100644
index 0000000..0acd23c
--- /dev/null
+++ b/ALGORITMS/Lesson_5/2.py
@@ -0,0 +1,28 @@
+'''
+2. Написать программу сложения и умножения двух шестнадцатеричных чисел.
+При этом каждое число представляется как массив, элементы которого это цифры числа.
+Например, пользователь ввёл A2 и C4F. Сохранить их как [‘A’, ‘2’] и [‘C’, ‘4’, ‘F’]
+соответственно. Сумма чисел из примера: [‘C’, ‘F’, ‘1’],
+произведение - [‘7’, ‘C’, ‘9’, ‘F’, ‘E’].
+'''
+
+import collections
+
+
+x = []
+for i in range(2):
+ y = list(input(f'Введите {i+1}-e число в шестнадцатиричном формате: ').upper())
+ x.append(y)
+
+a = collections.deque(x[0])
+b = collections.deque(x[1])
+c = ''.join(a)
+d = ''.join(b)
+summa = int(c, 16) + int(d, 16)
+pr = int(c, 16) * int(d, 16)
+arr1 = hex(summa)[2:].upper()
+arr2 = hex(pr)[2:].upper()
+
+print('Массив чисел:', x)
+print('Сумма чисел:', list(arr1))
+print('Произведение чисел:', list(arr2))
\ No newline at end of file
From 10fc283e9f8150cad54929db78b8ae6dd6172526 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 28 Jul 2021 04:00:22 +0500
Subject: [PATCH 78/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_5/1.py | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 ALGORITMS/Lesson_5/1.py
diff --git a/ALGORITMS/Lesson_5/1.py b/ALGORITMS/Lesson_5/1.py
new file mode 100644
index 0000000..907a408
--- /dev/null
+++ b/ALGORITMS/Lesson_5/1.py
@@ -0,0 +1,6 @@
+'''
+1. Пользователь вводит данные о количестве предприятий, их наименования и прибыль за 4 квартала
+(т.е. 4 отдельных числа) для каждого предприятия.. Программа должна определить среднюю прибыль
+(за год для всех предприятий) и вывести наименования предприятий, чья прибыль выше среднего и
+отдельно вывести наименования предприятий, чья прибыль ниже среднего.
+'''
\ No newline at end of file
From 88d203aa8eac9ce506bce593a5117bb73791d11a Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 28 Jul 2021 04:02:12 +0500
Subject: [PATCH 79/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_4/1.py | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 ALGORITMS/Lesson_4/1.py
diff --git a/ALGORITMS/Lesson_4/1.py b/ALGORITMS/Lesson_4/1.py
new file mode 100644
index 0000000..46d6b5b
--- /dev/null
+++ b/ALGORITMS/Lesson_4/1.py
@@ -0,0 +1,4 @@
+'''
+1. Проанализировать скорость и сложность одного любого алгоритма, разработанных в рамках домашнего задания первых трех уроков.
+Примечание: попробуйте написать несколько реализаций алгоритма и сравнить их.
+'''
\ No newline at end of file
From 40095be5e9c7d18ae5a50128570a6c2aa2f5a45f Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 28 Jul 2021 04:03:33 +0500
Subject: [PATCH 80/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_4/2.py | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 ALGORITMS/Lesson_4/2.py
diff --git a/ALGORITMS/Lesson_4/2.py b/ALGORITMS/Lesson_4/2.py
new file mode 100644
index 0000000..6bec73b
--- /dev/null
+++ b/ALGORITMS/Lesson_4/2.py
@@ -0,0 +1,8 @@
+'''
+2. Написать два алгоритма нахождения i-го по счёту простого числа.
+Без использования «Решета Эратосфена»;
+Используя алгоритм «Решето Эратосфена»
+Примечание ко всему домашнему заданию:
+Проанализировать скорость и сложность алгоритмов.
+Результаты анализа сохранить в виде комментариев в файле с кодом.
+'''
\ No newline at end of file
From 782deddabe1ca1ef822b6fcb9d04ecc7b94ca9d9 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Wed, 28 Jul 2021 09:05:03 +0500
Subject: [PATCH 81/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_4/1.py | 45 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/ALGORITMS/Lesson_4/1.py b/ALGORITMS/Lesson_4/1.py
index 46d6b5b..036c1b0 100644
--- a/ALGORITMS/Lesson_4/1.py
+++ b/ALGORITMS/Lesson_4/1.py
@@ -1,4 +1,49 @@
'''
1. Проанализировать скорость и сложность одного любого алгоритма, разработанных в рамках домашнего задания первых трех уроков.
Примечание: попробуйте написать несколько реализаций алгоритма и сравнить их.
+'''
+import cProfile
+
+
+numbers = '22', '33', '555', '99', '1111',
+
+
+def sum_numbers(numbers):
+ summa = 0
+ for item in numbers:
+ summa += int(item)
+ return summa
+
+
+max_number = 0
+max_sum = 0
+for i in numbers:
+ if sum_numbers(i) > max_sum:
+ max_number = i
+ max_sum = sum_numbers(i)
+
+print(f'У числа {max_number} наибольшая сумма цифр = {max_sum}')
+
+
+def main():
+ num = 3 ** 100000
+ res_count = sum_numbers(str(num))
+ res_sum = sum_numbers(str(num))
+
+
+if __name__ == '__main__':
+ cProfile.run('main()')
+
+'''
+У числа 99 наибольшая сумма цифр = 18
+ 6 function calls in 0.073 seconds
+
+ Ordered by: standard name
+
+ ncalls tottime percall cumtime percall filename:lineno(function)
+ 2 0.011 0.005 0.011 0.005 1.py:11(sum_numbers)
+ 1 0.062 0.062 0.073 0.073 1.py:28(main)
+ 1 0.000 0.000 0.073 0.073 :1()
+ 1 0.000 0.000 0.073 0.073 {built-in method builtins.exec}
+ 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
'''
\ No newline at end of file
From 0c6529556d4dba9f91f84994c45954d8ade7a572 Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 29 Jul 2021 02:01:51 +0500
Subject: [PATCH 82/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_5/1.py | 36 +++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/ALGORITMS/Lesson_5/1.py b/ALGORITMS/Lesson_5/1.py
index 907a408..6bbe5a7 100644
--- a/ALGORITMS/Lesson_5/1.py
+++ b/ALGORITMS/Lesson_5/1.py
@@ -3,4 +3,38 @@
(т.е. 4 отдельных числа) для каждого предприятия.. Программа должна определить среднюю прибыль
(за год для всех предприятий) и вывести наименования предприятий, чья прибыль выше среднего и
отдельно вывести наименования предприятий, чья прибыль ниже среднего.
-'''
\ No newline at end of file
+'''
+
+from colorama import Fore, Style
+
+company = {}
+n = int(input('Колличество предприятий: '))
+q = 4 # кварталы
+p = 0 # прибыль каждого предприятия
+all = 0 # общая прибыль
+for i in range(n):
+ c_name = input(str(i + 1) + '-е предприятие: ')
+ company[c_name] = i + 1
+ for j in range(q):
+ profit = input('\t' + str(j + 1) + '-ый квартал: ')
+ all += int(profit)
+ p += int(profit)
+ company[c_name] = p
+ p = 0
+print('Предприятия:', company)
+print('Общая прибыль:', all)
+
+avrg = all / n
+print('\nСредняя прибыль за год для всех предприятий: %.0f' % avrg)
+little = []
+big = []
+for i in range(n):
+ x = int(list(company.values())[i])
+ if x > avrg:
+ big.append(list(company.items())[i])
+ else:
+ little.append(list(company.items())[i])
+
+print(f'\nПредприятия с прибылью ВЫШЕ средней: {Fore.GREEN}{big}{Style.RESET_ALL}')
+print('=' * 50)
+print(f'\nПредприятия с прибылью НИЖЕ средней: {Fore.RED}{little}{Style.RESET_ALL}')
From 4e70de548268a1e0861ae39059f2a71272fcaa8d Mon Sep 17 00:00:00 2001
From: Yuri_1967 <9022368@mail.ru>
Date: Thu, 29 Jul 2021 02:25:56 +0500
Subject: [PATCH 83/83] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ALGORITMS/Lesson_4/2.py | 48 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/ALGORITMS/Lesson_4/2.py b/ALGORITMS/Lesson_4/2.py
index 6bec73b..629d7f3 100644
--- a/ALGORITMS/Lesson_4/2.py
+++ b/ALGORITMS/Lesson_4/2.py
@@ -5,4 +5,52 @@
Примечание ко всему домашнему заданию:
Проанализировать скорость и сложность алгоритмов.
Результаты анализа сохранить в виде комментариев в файле с кодом.
+'''
+
+import cProfile
+
+
+def number(n):
+ #n = 100
+ a = []
+ for i in range(n + 1):
+ a.append(i)
+ a[1] = 0
+ i = 2
+ while i <= n:
+ if a[i] != 0:
+ j = i + i
+ while j <= n:
+ a[j] = 0
+ j = j + i
+ i += 1
+ a = set(a)
+ a.remove(0)
+ print(a)
+
+
+def main():
+ num = 3 ** 100000
+ a1 = number(100)
+
+
+if __name__ == '__main__':
+ cProfile.run('main()')
+
+'''
+{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97}
+ 108 function calls in 0.002 seconds
+
+ Ordered by: standard name
+
+ ncalls tottime percall cumtime percall filename:lineno(function)
+ 1 0.000 0.000 0.000 0.000 2.py:13(number)
+ 1 0.002 0.002 0.002 0.002 2.py:32(main)
+ 1 0.000 0.000 0.002 0.002 :1()
+ 1 0.000 0.000 0.002 0.002 {built-in method builtins.exec}
+ 1 0.000 0.000 0.000 0.000 {built-in method builtins.print}
+ 101 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects}
+ 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
+ 1 0.000 0.000 0.000 0.000 {method 'remove' of 'set' objects}
+
'''
\ No newline at end of file