From 0c67fa0c524ce4b5154dc384e55f3cd74cef3466 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Sat, 5 Oct 2019 17:11:51 +0300 Subject: [PATCH 01/16] my first commit --- zelenova_start | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 zelenova_start diff --git a/zelenova_start b/zelenova_start new file mode 100644 index 0000000..e163c3a --- /dev/null +++ b/zelenova_start @@ -0,0 +1,3 @@ +print("sorry") +print("i'm late") + From 28b8b080eacac200027157f0e5e51138e0ca8522 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Mon, 7 Oct 2019 22:42:14 +0300 Subject: [PATCH 02/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n1 zelenova_week02 | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 zelenova_week02/n1 zelenova_week02 diff --git a/zelenova_week02/n1 zelenova_week02 b/zelenova_week02/n1 zelenova_week02 new file mode 100644 index 0000000..ed929ef --- /dev/null +++ b/zelenova_week02/n1 zelenova_week02 @@ -0,0 +1,11 @@ +# 1. Дано число n. С начала суток прошло n минут. +# Определите, сколько часов и минут будут показывать электронные часы в этот момент. +# Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59). +# Учтите, что число n может быть больше, чем количество минут в сутках. (pythontutor.ru, 1 урок, электронные часы) +n= int(input ()) +minute= n % 60 +if n//60 <24: + hour =n//60 +else: hour=(n//60) % 24 +print (hour,':',minute) + From f78853d58a0793c7ced73a3cb28a52d33e46e2e4 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Mon, 7 Oct 2019 22:47:24 +0300 Subject: [PATCH 03/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n1 zelenova_week02 | 1 + 1 file changed, 1 insertion(+) diff --git a/zelenova_week02/n1 zelenova_week02 b/zelenova_week02/n1 zelenova_week02 index ed929ef..c496291 100644 --- a/zelenova_week02/n1 zelenova_week02 +++ b/zelenova_week02/n1 zelenova_week02 @@ -2,6 +2,7 @@ # Определите, сколько часов и минут будут показывать электронные часы в этот момент. # Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59). # Учтите, что число n может быть больше, чем количество минут в сутках. (pythontutor.ru, 1 урок, электронные часы) +print ('n=') n= int(input ()) minute= n % 60 if n//60 <24: From 641d91be2dab82e621886e818c2a44977a39c765 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Mon, 7 Oct 2019 23:25:38 +0300 Subject: [PATCH 04/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n2 zelenova_week02 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 zelenova_week02/n2 zelenova_week02 diff --git a/zelenova_week02/n2 zelenova_week02 b/zelenova_week02/n2 zelenova_week02 new file mode 100644 index 0000000..7d0e144 --- /dev/null +++ b/zelenova_week02/n2 zelenova_week02 @@ -0,0 +1,9 @@ +# Напишете программу, которая на вход берет строку text и целое число n, и выводит в слово Hello, +# а также n раз через запятую и пробел строку text. В конце выхода запятая не ставится. +# Например, для text = MIPT Students и n = 5 результат будет следующим: +# Hello, MIPT Students, MIPT Students, MIPT Students, MIPT Students, MIPT Students +print('input your text') +text = str (input ()) +print('input n') +n= int (input ()) +print('Hello'+n*(', '+text)) From fc7e1f86a282a02b3583877521ccae39bfb0ecfe Mon Sep 17 00:00:00 2001 From: natalie-z Date: Mon, 7 Oct 2019 23:44:30 +0300 Subject: [PATCH 05/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n3 zelenova_week02 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 zelenova_week02/n3 zelenova_week02 diff --git a/zelenova_week02/n3 zelenova_week02 b/zelenova_week02/n3 zelenova_week02 new file mode 100644 index 0000000..174c3a6 --- /dev/null +++ b/zelenova_week02/n3 zelenova_week02 @@ -0,0 +1,14 @@ +#3. Даны три числа. Выведите значение наименьшего из них. (pythontutor.ru, 2 урок, минимум из трех чисел) +print('input first number') +first = int(input()) +print('input second number') +second = int(input()) +print('input third number') +third = int(input()) +print('The smallest number is') +if first <= second and first <= third: + print(first) +elif second <= first and second <= third: + print(second) +else: + print(third) From e36ec14c0df28ee4176c8e1bb738a25cd9cc4a8e Mon Sep 17 00:00:00 2001 From: natalie-z Date: Tue, 8 Oct 2019 00:06:36 +0300 Subject: [PATCH 06/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n4 zelenova_week02 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 zelenova_week02/n4 zelenova_week02 diff --git a/zelenova_week02/n4 zelenova_week02 b/zelenova_week02/n4 zelenova_week02 new file mode 100644 index 0000000..9711e95 --- /dev/null +++ b/zelenova_week02/n4 zelenova_week02 @@ -0,0 +1,9 @@ +#4. Длина Московской кольцевой автомобильной дороги —109 километров. +# Байкер Вася стартует с нулевого километра МКАД и едет со скоростью v километров в час. +# На какой отметке он остановится через t часов? Программа получает на вход значение v и t. +# Если v > 0, то Вася движется в положительном направлении по МКАД, если же значение v < 0, то в отрицательном. +# Программа должна вывести целое число от 0 до 108 — номер отметки, на которой остановится Вася. (pythontutor.ru, 3 урок, МКАД) +v=int(input()) +t=int(input()) +s=(v*t)%109 +print(s) From 1b48839e8c8a91851edfc341b0f398567708254d Mon Sep 17 00:00:00 2001 From: natalie-z Date: Tue, 8 Oct 2019 01:06:29 +0300 Subject: [PATCH 07/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n5 zelenova_week02 | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 zelenova_week02/n5 zelenova_week02 diff --git a/zelenova_week02/n5 zelenova_week02 b/zelenova_week02/n5 zelenova_week02 new file mode 100644 index 0000000..6b830a7 --- /dev/null +++ b/zelenova_week02/n5 zelenova_week02 @@ -0,0 +1,10 @@ +#5. По данному натуральном n вычислите сумму 1! + 2! + 3! + ... + n!. +# В решении этой задачи можно использовать только один цикл. +# (pythontutor.ru, 4 урок, сумма факториалов) +n= int(input()) +sum = 0 +fact = 1 +for i in range(1, n + 1): + fact=fact*i + sum=fact+sum +print(sum) From 7aa8c4cc62522f3513e675a1e44ea7bb297e6733 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Fri, 11 Oct 2019 21:27:39 +0300 Subject: [PATCH 08/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n6 zelenova_week02 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 zelenova_week02/n6 zelenova_week02 diff --git a/zelenova_week02/n6 zelenova_week02 b/zelenova_week02/n6 zelenova_week02 new file mode 100644 index 0000000..5503958 --- /dev/null +++ b/zelenova_week02/n6 zelenova_week02 @@ -0,0 +1,16 @@ +#6. Последовательность состоит из различных натуральных чисел и завершается числом 0. +# Определите значение второго по величине элемента в этой последовательности. +# Гарантируется, что в последовательности есть хотя бы два элемента. (pythontutor.ru, 6 урок, второй максимум) +lst=int(input()) +firstmax=0 +secmax=0 +while lst!=0: + + if firstmax Date: Fri, 11 Oct 2019 22:14:44 +0300 Subject: [PATCH 09/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n7 zelenova_week02 | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 zelenova_week02/n7 zelenova_week02 diff --git a/zelenova_week02/n7 zelenova_week02 b/zelenova_week02/n7 zelenova_week02 new file mode 100644 index 0000000..fc3b5b7 --- /dev/null +++ b/zelenova_week02/n7 zelenova_week02 @@ -0,0 +1,5 @@ +#7. Выведите все элементы списка с четными индексами (то есть lst[0], lst[2], lst[4], ...). +# (pythontutor.ru, 7 урок, четные индексы) +a=input().split() +evena=a[::2] +print(' '.join(evena)) \ No newline at end of file From 05acda94c3a1cefe4ded3ae1363f7e7c098060ea Mon Sep 17 00:00:00 2001 From: natalie-z Date: Fri, 11 Oct 2019 22:42:52 +0300 Subject: [PATCH 10/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n8 zelenova_week02 | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 zelenova_week02/n8 zelenova_week02 diff --git a/zelenova_week02/n8 zelenova_week02 b/zelenova_week02/n8 zelenova_week02 new file mode 100644 index 0000000..97543cb --- /dev/null +++ b/zelenova_week02/n8 zelenova_week02 @@ -0,0 +1,8 @@ +#Выведите все четные элементы списка. При этом используйте цикл for, перебирающий элементы списка, а не их индексы! +#(pythontutor.ru, 7 урок, четные элементы) +a = [int(s) for s in input().split()] +evenelm=[] +for symbol in a: + if symbol%2==0: + evenelm.append(str(symbol)) +print(' '.join(evenelm)) \ No newline at end of file From adf0d2e5971e167cc150b3e4ac3dd633ce275109 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Fri, 11 Oct 2019 23:26:54 +0300 Subject: [PATCH 11/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=9D=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=202,=20?= =?UTF-8?q?=D0=B7=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 --- zelenova_week02/n9 zelenova_week02 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 zelenova_week02/n9 zelenova_week02 diff --git a/zelenova_week02/n9 zelenova_week02 b/zelenova_week02/n9 zelenova_week02 new file mode 100644 index 0000000..c3a5434 --- /dev/null +++ b/zelenova_week02/n9 zelenova_week02 @@ -0,0 +1,16 @@ +#9. Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), +# вычисляющая расстояние между точкой (x1,y1) и (x2,y2). +#Считайте четыре действительных числа и выведите результат работы этой функции. +#(pythontutor.ru, 8 урок, длина отрезка) +def distance(x1, y1, x2, y2): + import math + dist = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2) + return dist + + +x1 = float(input()) +y1 = float(input()) +x2 = float(input()) +y2 = float(input()) + +print(distance(x1, y1, x2, y2)) \ No newline at end of file From 3e4941ecb3baa33a85b2a9944bb1e67068f9dc4f Mon Sep 17 00:00:00 2001 From: natalie-z Date: Fri, 11 Oct 2019 23:31:38 +0300 Subject: [PATCH 12/16] =?UTF-8?q?=D0=97=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0,=20=D0=B4=D0=B7=20=D0=BD=D0=B5=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D1=8F02?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week02/Intro.ipynb | 22 ++++++++++++++----- .../zelenova_week02}/n1 zelenova_week02 | 0 .../zelenova_week02}/n2 zelenova_week02 | 2 +- .../zelenova_week02}/n3 zelenova_week02 | 0 .../zelenova_week02}/n4 zelenova_week02 | 0 .../zelenova_week02}/n5 zelenova_week02 | 0 .../zelenova_week02}/n6 zelenova_week02 | 0 .../zelenova_week02}/n7 zelenova_week02 | 0 .../zelenova_week02}/n8 zelenova_week02 | 0 .../zelenova_week02}/n9 zelenova_week02 | 0 10 files changed, 17 insertions(+), 7 deletions(-) rename {zelenova_week02 => week02/zelenova_week02}/n1 zelenova_week02 (100%) rename {zelenova_week02 => week02/zelenova_week02}/n2 zelenova_week02 (95%) rename {zelenova_week02 => week02/zelenova_week02}/n3 zelenova_week02 (100%) rename {zelenova_week02 => week02/zelenova_week02}/n4 zelenova_week02 (100%) rename {zelenova_week02 => week02/zelenova_week02}/n5 zelenova_week02 (100%) rename {zelenova_week02 => week02/zelenova_week02}/n6 zelenova_week02 (100%) rename {zelenova_week02 => week02/zelenova_week02}/n7 zelenova_week02 (100%) rename {zelenova_week02 => week02/zelenova_week02}/n8 zelenova_week02 (100%) rename {zelenova_week02 => week02/zelenova_week02}/n9 zelenova_week02 (100%) diff --git a/week02/Intro.ipynb b/week02/Intro.ipynb index 63c7df6..294730c 100644 --- a/week02/Intro.ipynb +++ b/week02/Intro.ipynb @@ -788,7 +788,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -804,7 +804,7 @@ "lst.append('Hello')\n", "lst += [5, 6]\n", "lst.remove(5)\n", - "print(lst)" + "print(lst)\n" ] }, { @@ -855,11 +855,21 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n" + ] + } + ], "source": [ - "a = int()" + "a = int()\n", + "a=4\n", + "print (a)" ] }, { @@ -1299,7 +1309,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.7.3" } }, "nbformat": 4, diff --git a/zelenova_week02/n1 zelenova_week02 b/week02/zelenova_week02/n1 zelenova_week02 similarity index 100% rename from zelenova_week02/n1 zelenova_week02 rename to week02/zelenova_week02/n1 zelenova_week02 diff --git a/zelenova_week02/n2 zelenova_week02 b/week02/zelenova_week02/n2 zelenova_week02 similarity index 95% rename from zelenova_week02/n2 zelenova_week02 rename to week02/zelenova_week02/n2 zelenova_week02 index 7d0e144..7d14d2a 100644 --- a/zelenova_week02/n2 zelenova_week02 +++ b/week02/zelenova_week02/n2 zelenova_week02 @@ -6,4 +6,4 @@ print('input your text') text = str (input ()) print('input n') n= int (input ()) -print('Hello'+n*(', '+text)) +print('Hello'+n*(', '+text)) \ No newline at end of file diff --git a/zelenova_week02/n3 zelenova_week02 b/week02/zelenova_week02/n3 zelenova_week02 similarity index 100% rename from zelenova_week02/n3 zelenova_week02 rename to week02/zelenova_week02/n3 zelenova_week02 diff --git a/zelenova_week02/n4 zelenova_week02 b/week02/zelenova_week02/n4 zelenova_week02 similarity index 100% rename from zelenova_week02/n4 zelenova_week02 rename to week02/zelenova_week02/n4 zelenova_week02 diff --git a/zelenova_week02/n5 zelenova_week02 b/week02/zelenova_week02/n5 zelenova_week02 similarity index 100% rename from zelenova_week02/n5 zelenova_week02 rename to week02/zelenova_week02/n5 zelenova_week02 diff --git a/zelenova_week02/n6 zelenova_week02 b/week02/zelenova_week02/n6 zelenova_week02 similarity index 100% rename from zelenova_week02/n6 zelenova_week02 rename to week02/zelenova_week02/n6 zelenova_week02 diff --git a/zelenova_week02/n7 zelenova_week02 b/week02/zelenova_week02/n7 zelenova_week02 similarity index 100% rename from zelenova_week02/n7 zelenova_week02 rename to week02/zelenova_week02/n7 zelenova_week02 diff --git a/zelenova_week02/n8 zelenova_week02 b/week02/zelenova_week02/n8 zelenova_week02 similarity index 100% rename from zelenova_week02/n8 zelenova_week02 rename to week02/zelenova_week02/n8 zelenova_week02 diff --git a/zelenova_week02/n9 zelenova_week02 b/week02/zelenova_week02/n9 zelenova_week02 similarity index 100% rename from zelenova_week02/n9 zelenova_week02 rename to week02/zelenova_week02/n9 zelenova_week02 From 196889cc8eaf97b23fe004a94e22fdafcb699567 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Sat, 12 Oct 2019 04:03:41 +0300 Subject: [PATCH 13/16] Zelenova, week03, turtle lab --- week03/zelenova_week03/turtle.py | 90 ++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 week03/zelenova_week03/turtle.py diff --git a/week03/zelenova_week03/turtle.py b/week03/zelenova_week03/turtle.py new file mode 100644 index 0000000..ac2f1a6 --- /dev/null +++ b/week03/zelenova_week03/turtle.py @@ -0,0 +1,90 @@ +import turtle + +#2 Следующая программа рисует букву S: +turtle.shape('turtle') +turtle.forward(50) +turtle.left(90) +turtle.forward(50) +turtle.left(90) +turtle.forward(50) +turtle.right(90) +turtle.forward(50) +turtle.right(90) +turtle.forward(50) + +#3 Квадрат. +import turtle +turtle.shape('turtle') +turtle.forward(100) +turtle.left(90) +turtle.forward(100) +turtle.left(90) +turtle.forward(100) +turtle.left(90) +turtle.forward(100) +turtle.left(90) + +#4 Окружность +n=90 #количество сторон правильного многоугольника +angle=(180*(n-2))/n #угол правильного многоугольника +import turtle +for i in range (n): + turtle.shape('turtle') + turtle.forward(5) + turtle.left(180-angle) + +#5 Больше квадратов. Нарисуйте 10 вложенных квадратов. +n=4 +angle=(180*(n-2))/n +l=30 #длина стороны наименьшего квадрата +step=20 #шаг между квадратами +import turtle +for i in range(10): + for i in range(n): + turtle.shape('turtle') + turtle.pendown() + turtle.forward(l) + turtle.left(180 - angle) + turtle.penup() + turtle.left(180) + turtle.forward(step) + turtle.left(90) + turtle.forward(step) + turtle.left(90) + l+=2*(step) + +#6 Паук. Нарисуйте паука с n=12 лапами +lpaw=90 #длинна лапки паука +n=12 +langle=360/n #угол между лапками +import turtle +turtle.shape('turtle') +for i in range(n): + turtle.forward(lpaw) + turtle.stamp() + turtle.backward(lpaw) + turtle.left(langle) + +#7 Спираль +k=1 #cмещение точки по лучу +rfi=0.1 #угол поворота в радианах +dfi=rfi*180/3.14 #угол поворота в градусах +import turtle +turtle.shape('turtle') +for i in range (100): + ro=k*rfi #приращение спирали + turtle.forward(ro) + turtle.left(dfi) + rfi+=0.1 + ro+=ro + +#8 Квадратная спираль +import.turtle +step=10 #сторона меньшего квадрата +n=100 #количество граней квадратов,пройденных черепашкой в спирале +turtle.shape('turtle') +for i in range(n): + turtle.forward(step) + turtle.left(90) + step+=5 + From 44b5c91a43489ac61efc4b251d01849f39f3112e Mon Sep 17 00:00:00 2001 From: natalie-z Date: Sun, 13 Oct 2019 22:19:20 +0300 Subject: [PATCH 14/16] Zelenova, week03, turtle lab 9,10 --- week03/zelenova_week03/Zelenova_turt10.py | 20 +++++++++++++++ week03/zelenova_week03/Zelenova_turt9.py | 30 +++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 week03/zelenova_week03/Zelenova_turt10.py create mode 100644 week03/zelenova_week03/Zelenova_turt9.py diff --git a/week03/zelenova_week03/Zelenova_turt10.py b/week03/zelenova_week03/Zelenova_turt10.py new file mode 100644 index 0000000..90aa3f0 --- /dev/null +++ b/week03/zelenova_week03/Zelenova_turt10.py @@ -0,0 +1,20 @@ +#10 Цветок. Нарисуйте «цветок» из окружностей. Используйте функцию, рисующую окружность. +from math import sin, pi +import turtle +turtle.shape('turtle') +r = 60 +n = 90 # количество сторон правильного многоугольника, который уже похож на окружность +def dcircle(r): + '''draw circle with turtle turning left''' + sleng = (r * 2 * sin(pi / n)) # side length + angle = (180 * (n - 2)) / n # угол правильного многоугольника + import turtle + for i in range(n): + turtle.shape('turtle') + turtle.forward(sleng) + turtle.left(180 - angle) + +for i in range (6): + dcircle(r) + dcircle(-r) + turtle.left(45) \ No newline at end of file diff --git a/week03/zelenova_week03/Zelenova_turt9.py b/week03/zelenova_week03/Zelenova_turt9.py new file mode 100644 index 0000000..cefce5f --- /dev/null +++ b/week03/zelenova_week03/Zelenova_turt9.py @@ -0,0 +1,30 @@ +#9 правильные многоугольники. Нарисуйте 10 вложенных правильных многоугольников. +# Используйте функцию, рисующую правильный n-угольник. + +from math import sin, pi +import turtle +turtle.shape('turtle') +n=3 #число чторон многоугольника +r=50 #радиус описанной окружности первого многоугольника +sleng=(r*2*sin(pi/n)) #side length +angle=(180*(n-2))/n #угол правильного многоугольника +def nshape (n,r): + '''draw a regular polygon''' + + for i in range (n): + turtle.forward(sleng) + turtle.left(180-angle) + return (sleng) + return (angle) + +for i in range(10): + turtle.up() + turtle.goto(r, 0) + turtle.down() + turtle.left(180-(90*(n-2))/n) + nshape(n,r) + turtle.right(180-(90*(n-2))/n) + n+=1 + r+=30 + + From 652de4d9ca32df7e445aa0425db5ffe32cf7b138 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Mon, 14 Oct 2019 01:22:10 +0300 Subject: [PATCH 15/16] Zelenova, week03, turtle lab 2-14 --- week03/zelenova_week03/Zelenova_turt10.py | 12 +-- week03/zelenova_week03/turtle.py | 90 ----------------------- week03/zelenova_week03/zelenova_turt11.py | 21 ++++++ week03/zelenova_week03/zelenova_turt12.py | 21 ++++++ week03/zelenova_week03/zelenova_turt13.py | 68 +++++++++++++++++ week03/zelenova_week03/zelenova_turt14.py | 21 ++++++ week03/zelenova_week03/zelenova_turt2.py | 16 ++++ week03/zelenova_week03/zelenova_turt3.py | 12 +++ week03/zelenova_week03/zelenova_turt4.py | 8 ++ week03/zelenova_week03/zelenova_turt5.py | 19 +++++ week03/zelenova_week03/zelenova_turt6.py | 12 +++ week03/zelenova_week03/zelenova_turt7.py | 12 +++ week03/zelenova_week03/zelenova_turt8.py | 9 +++ 13 files changed, 225 insertions(+), 96 deletions(-) delete mode 100644 week03/zelenova_week03/turtle.py create mode 100644 week03/zelenova_week03/zelenova_turt11.py create mode 100644 week03/zelenova_week03/zelenova_turt12.py create mode 100644 week03/zelenova_week03/zelenova_turt13.py create mode 100644 week03/zelenova_week03/zelenova_turt14.py create mode 100644 week03/zelenova_week03/zelenova_turt2.py create mode 100644 week03/zelenova_week03/zelenova_turt3.py create mode 100644 week03/zelenova_week03/zelenova_turt4.py create mode 100644 week03/zelenova_week03/zelenova_turt5.py create mode 100644 week03/zelenova_week03/zelenova_turt6.py create mode 100644 week03/zelenova_week03/zelenova_turt7.py create mode 100644 week03/zelenova_week03/zelenova_turt8.py diff --git a/week03/zelenova_week03/Zelenova_turt10.py b/week03/zelenova_week03/Zelenova_turt10.py index 90aa3f0..18d241c 100644 --- a/week03/zelenova_week03/Zelenova_turt10.py +++ b/week03/zelenova_week03/Zelenova_turt10.py @@ -4,17 +4,17 @@ turtle.shape('turtle') r = 60 n = 90 # количество сторон правильного многоугольника, который уже похож на окружность -def dcircle(r): - '''draw circle with turtle turning left''' +def dcircle(r:float,dir=1): + '''draw circle with turtle turning left if dir=1, and turning right if dir=-1''' sleng = (r * 2 * sin(pi / n)) # side length angle = (180 * (n - 2)) / n # угол правильного многоугольника import turtle for i in range(n): - turtle.shape('turtle') turtle.forward(sleng) - turtle.left(180 - angle) - + if dir==1: + turtle.left(180 - angle) + else: turtle.right(180-angle ) for i in range (6): dcircle(r) - dcircle(-r) + dcircle(r,-1) turtle.left(45) \ No newline at end of file diff --git a/week03/zelenova_week03/turtle.py b/week03/zelenova_week03/turtle.py deleted file mode 100644 index ac2f1a6..0000000 --- a/week03/zelenova_week03/turtle.py +++ /dev/null @@ -1,90 +0,0 @@ -import turtle - -#2 Следующая программа рисует букву S: -turtle.shape('turtle') -turtle.forward(50) -turtle.left(90) -turtle.forward(50) -turtle.left(90) -turtle.forward(50) -turtle.right(90) -turtle.forward(50) -turtle.right(90) -turtle.forward(50) - -#3 Квадрат. -import turtle -turtle.shape('turtle') -turtle.forward(100) -turtle.left(90) -turtle.forward(100) -turtle.left(90) -turtle.forward(100) -turtle.left(90) -turtle.forward(100) -turtle.left(90) - -#4 Окружность -n=90 #количество сторон правильного многоугольника -angle=(180*(n-2))/n #угол правильного многоугольника -import turtle -for i in range (n): - turtle.shape('turtle') - turtle.forward(5) - turtle.left(180-angle) - -#5 Больше квадратов. Нарисуйте 10 вложенных квадратов. -n=4 -angle=(180*(n-2))/n -l=30 #длина стороны наименьшего квадрата -step=20 #шаг между квадратами -import turtle -for i in range(10): - for i in range(n): - turtle.shape('turtle') - turtle.pendown() - turtle.forward(l) - turtle.left(180 - angle) - turtle.penup() - turtle.left(180) - turtle.forward(step) - turtle.left(90) - turtle.forward(step) - turtle.left(90) - l+=2*(step) - -#6 Паук. Нарисуйте паука с n=12 лапами -lpaw=90 #длинна лапки паука -n=12 -langle=360/n #угол между лапками -import turtle -turtle.shape('turtle') -for i in range(n): - turtle.forward(lpaw) - turtle.stamp() - turtle.backward(lpaw) - turtle.left(langle) - -#7 Спираль -k=1 #cмещение точки по лучу -rfi=0.1 #угол поворота в радианах -dfi=rfi*180/3.14 #угол поворота в градусах -import turtle -turtle.shape('turtle') -for i in range (100): - ro=k*rfi #приращение спирали - turtle.forward(ro) - turtle.left(dfi) - rfi+=0.1 - ro+=ro - -#8 Квадратная спираль -import.turtle -step=10 #сторона меньшего квадрата -n=100 #количество граней квадратов,пройденных черепашкой в спирале -turtle.shape('turtle') -for i in range(n): - turtle.forward(step) - turtle.left(90) - step+=5 - diff --git a/week03/zelenova_week03/zelenova_turt11.py b/week03/zelenova_week03/zelenova_turt11.py new file mode 100644 index 0000000..0286988 --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt11.py @@ -0,0 +1,21 @@ +#11 Бабочка. Нарисуйте «бабочку» из окружностей. Используйте функцию, рисующую окружность. +from math import sin, pi +import turtle +turtle.shape('turtle') +r = 60 +n = 90 # количество сторон правильного многоугольника, который уже похож на окружность +def dcircle(r:float,dir=1): + '''draw a circle with turtle turning left if dir=1, and turning right if dir=-1''' + sleng = (r * 2 * sin(pi / n)) # side length + angle = (180 * (n - 2)) / n # угол правильного многоугольника + import turtle + for i in range(n): + turtle.forward(sleng) + if dir==1: + turtle.left(180 - angle) + else: turtle.right(180-angle ) +turtle.left(180-(90*(n-2))/n) +for i in range(10): + dcircle(r) + dcircle(r,-1) + r+=10 \ No newline at end of file diff --git a/week03/zelenova_week03/zelenova_turt12.py b/week03/zelenova_week03/zelenova_turt12.py new file mode 100644 index 0000000..ef01303 --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt12.py @@ -0,0 +1,21 @@ +#12 Пружина. Нарисуйте пружину. Используйте функцию, рисующую дугу. +from math import sin, pi +import turtle +turtle.shape('turtle') +r = 60 +n = 90 # количество сторон правильного многоугольника, который уже похож на окружность +def dbow(r:float,dir=1): + '''draw a bow with turtle turning left if dir=1, and turning right if dir=-1''' + sleng = (r * 2 * sin(pi / n)) # side length + angle = (180 * (n - 2)) / n # угол правильного многоугольника + import turtle + for i in range(n//2): + turtle.forward(sleng) + if dir==1: + turtle.left(180 - angle) + else: turtle.right(180-angle ) +turtle.left(180-(90*(n-2))/n) + +for i in range(10): + dbow(50,-1) + dbow(10,-1) diff --git a/week03/zelenova_week03/zelenova_turt13.py b/week03/zelenova_week03/zelenova_turt13.py new file mode 100644 index 0000000..d511174 --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt13.py @@ -0,0 +1,68 @@ +#13 Смайлик. Нарисуйте смайлик с помощью написанных функций рисования круга и дуги. +from math import sin, pi +import turtle +turtle.shape('turtle') +r = 60 +n = 90 # количество сторон правильного многоугольника, который уже похож на окружность +def dbow(r:float,dir=1): + '''draw a bow with turtle turning left if dir=1, and turning right if dir=-1''' + sleng = (r * 2 * sin(pi / n)) # side length + angle = (180 * (n - 2)) / n # угол правильного многоугольника + import turtle + for i in range(n//2): + turtle.forward(sleng) + if dir==1: + turtle.left(180 - angle) + else: turtle.right(180-angle ) +def dcircle(r:float,dir=1): + '''draw circle with turtle turning left if dir=1, and turning right if dir=-1''' + sleng = (r * 2 * sin(pi / n)) # side length + angle = (180 * (n - 2)) / n # угол правильного многоугольника + import turtle + for i in range(n): + turtle.forward(sleng) + if dir==1: + turtle.left(180 - angle) + else: turtle.right(180-angle ) +'''yellow head''' +turtle.begin_fill() +dcircle(100) +turtle.color("yellow") +turtle.end_fill() +turtle.color("black") +'''blue eyes''' +turtle.up() +turtle.goto(-30,150) +turtle.down() + +turtle.begin_fill() +dcircle(20) +turtle.color("blue") +turtle.end_fill() +turtle.color("black") + +turtle.up() +turtle.goto(30,150) +turtle.down() + +turtle.begin_fill() +dcircle(20) +turtle.color("blue") +turtle.end_fill() +turtle.color("black") +'''black nose''' +turtle.up() +turtle.goto(0,100) +turtle.down() + +turtle.width(10) +turtle.right(90) +turtle.forward(30) +'''red mouth''' +turtle.up() +turtle.goto(30,50) +turtle.down() + +turtle.color("red") +dbow(30,-1) + diff --git a/week03/zelenova_week03/zelenova_turt14.py b/week03/zelenova_week03/zelenova_turt14.py new file mode 100644 index 0000000..5837157 --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt14.py @@ -0,0 +1,21 @@ +#14 Звезды. +# Нарисуйте две звезды: одну с 5 вершинами, другую — с 11. Используйте функцию, рисующую звезду с n вершинами. +from math import sin +import turtle +turtle.shape('turtle') +def star(r,n): + '''рисует звезду с n вершинами и радиусом описанной окружности r''' + angle=180/n + len=r*sin(angle/2) #длина хорды-"стороны" звезды + for i in range(n): + turtle.forward(len) + turtle.left(180-angle) +turtle.up() +turtle.goto(-150,0) +turtle.down() +star(200,5) + +turtle.up() +turtle.goto(150,0) +turtle.down() +star(200,11) diff --git a/week03/zelenova_week03/zelenova_turt2.py b/week03/zelenova_week03/zelenova_turt2.py new file mode 100644 index 0000000..423810a --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt2.py @@ -0,0 +1,16 @@ +import turtle + +#2 Следующая программа рисует букву S: +turtle.shape('turtle') +turtle.forward(50) +turtle.left(90) +turtle.forward(50) +turtle.left(90) +turtle.forward(50) +turtle.right(90) +turtle.forward(50) +turtle.right(90) +turtle.forward(50) + + + diff --git a/week03/zelenova_week03/zelenova_turt3.py b/week03/zelenova_week03/zelenova_turt3.py new file mode 100644 index 0000000..b495d56 --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt3.py @@ -0,0 +1,12 @@ +#3 Квадрат. +import turtle +turtle.shape('turtle') +turtle.forward(100) +turtle.left(90) +turtle.forward(100) +turtle.left(90) +turtle.forward(100) +turtle.left(90) +turtle.forward(100) +turtle.left(90) + diff --git a/week03/zelenova_week03/zelenova_turt4.py b/week03/zelenova_week03/zelenova_turt4.py new file mode 100644 index 0000000..cfb6fda --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt4.py @@ -0,0 +1,8 @@ +#4 Окружность +n=90 #количество сторон правильного многоугольника +angle=(180*(n-2))/n #угол правильного многоугольника +import turtle +for i in range (n): + turtle.shape('turtle') + turtle.forward(5) + turtle.left(180-angle) diff --git a/week03/zelenova_week03/zelenova_turt5.py b/week03/zelenova_week03/zelenova_turt5.py new file mode 100644 index 0000000..e64bfb5 --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt5.py @@ -0,0 +1,19 @@ +#5 Больше квадратов. Нарисуйте 10 вложенных квадратов. +n=4 +angle=(180*(n-2))/n +l=30 #длина стороны наименьшего квадрата +step=20 #шаг между квадратами +import turtle +for i in range(10): + for i in range(n): + turtle.shape('turtle') + turtle.pendown() + turtle.forward(l) + turtle.left(180 - angle) + turtle.penup() + turtle.left(180) + turtle.forward(step) + turtle.left(90) + turtle.forward(step) + turtle.left(90) + l+=2*(step) diff --git a/week03/zelenova_week03/zelenova_turt6.py b/week03/zelenova_week03/zelenova_turt6.py new file mode 100644 index 0000000..d61f9bd --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt6.py @@ -0,0 +1,12 @@ +#6 Паук. Нарисуйте паука с n=12 лапами# +lpaw=90 #длина лапки паука +n=12 +langle=360/n #угол между лапками +import turtle +turtle.shape('turtle') +for i in range(n): + turtle.forward(lpaw) + turtle.stamp() + turtle.backward(lpaw) + turtle.left(langle) + diff --git a/week03/zelenova_week03/zelenova_turt7.py b/week03/zelenova_week03/zelenova_turt7.py new file mode 100644 index 0000000..d8d3382 --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt7.py @@ -0,0 +1,12 @@ +#7 Спираль +k=1 #cмещение точки по лучу +rfi=0.1 #угол поворота в радианах +dfi=rfi*180/3.14 #угол поворота в градусах +import turtle +turtle.shape('turtle') +for i in range (400): + ro=k*rfi #приращение спирали + turtle.forward(ro) + turtle.left(dfi) + rfi+=0.1 + ro+=ro \ No newline at end of file diff --git a/week03/zelenova_week03/zelenova_turt8.py b/week03/zelenova_week03/zelenova_turt8.py new file mode 100644 index 0000000..299477d --- /dev/null +++ b/week03/zelenova_week03/zelenova_turt8.py @@ -0,0 +1,9 @@ +#8 Квадратная спираль +import turtle +step=10 #сторона наименьшего квадрата +n=100 #количество граней квадратов,пройденных черепашкой в спирале +turtle.shape('turtle') +for i in range(n): + turtle.forward(step) + turtle.left(90) + step+=5 \ No newline at end of file From 39326228c8af9d547ba0500725f5ff434bba3266 Mon Sep 17 00:00:00 2001 From: natalie-z Date: Thu, 17 Oct 2019 05:12:48 +0300 Subject: [PATCH 16/16] Zelenova, week04 --- week04/zelenova_week04/zelenova_week04n1.py | 18 +++++++++++++++ week04/zelenova_week04/zelenova_week04n10.py | 8 +++++++ week04/zelenova_week04/zelenova_week04n2.py | 16 ++++++++++++++ week04/zelenova_week04/zelenova_week04n3.py | 14 ++++++++++++ week04/zelenova_week04/zelenova_week04n4.py | 14 ++++++++++++ week04/zelenova_week04/zelenova_week04n5.py | 7 ++++++ week04/zelenova_week04/zelenova_week04n6.py | 11 ++++++++++ week04/zelenova_week04/zelenova_week04n7.py | 12 ++++++++++ week04/zelenova_week04/zelenova_week04n8.py | 15 +++++++++++++ week04/zelenova_week04/zelenova_week04n9.py | 23 ++++++++++++++++++++ 10 files changed, 138 insertions(+) create mode 100644 week04/zelenova_week04/zelenova_week04n1.py create mode 100644 week04/zelenova_week04/zelenova_week04n10.py create mode 100644 week04/zelenova_week04/zelenova_week04n2.py create mode 100644 week04/zelenova_week04/zelenova_week04n3.py create mode 100644 week04/zelenova_week04/zelenova_week04n4.py create mode 100644 week04/zelenova_week04/zelenova_week04n5.py create mode 100644 week04/zelenova_week04/zelenova_week04n6.py create mode 100644 week04/zelenova_week04/zelenova_week04n7.py create mode 100644 week04/zelenova_week04/zelenova_week04n8.py create mode 100644 week04/zelenova_week04/zelenova_week04n9.py diff --git a/week04/zelenova_week04/zelenova_week04n1.py b/week04/zelenova_week04/zelenova_week04n1.py new file mode 100644 index 0000000..4e37598 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n1.py @@ -0,0 +1,18 @@ +#1. Дан список чисел. +# Определите, сколько в этом списке элементов, которые больше двух своих соседей, +# и выведите количество таких элементов. Крайние элементы списка никогда не учитываются, +# поскольку у них недостаточно соседей. (pythontutor.ru, занятие 7, «Больше своих соседей») + +a=[int(s) for s in input().split()] + +def biggerthanneib(a): + '''bigger than neighbours выводит количество элементов в списке, которые больше двух сових соседей. + (исключая первый и последний элемент) ''' + n=0 + for i in range(len(a)-2): + if a[i]a[i+2]: + n+=1 + + return n +print(biggerthanneib(a)) + diff --git a/week04/zelenova_week04/zelenova_week04n10.py b/week04/zelenova_week04/zelenova_week04n10.py new file mode 100644 index 0000000..735b743 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n10.py @@ -0,0 +1,8 @@ +#10.Дана база данных о продажах некоторого интернет-магазина. +# Каждая строка входного файла представляет собой запись вида Покупатель товар количество, +# где Покупатель — имя покупателя (строка без пробелов), +# товар — название товара (строка без пробелов), +# количество — количество приобретенных единиц товара. +# Создайте список всех покупателей, а для каждого покупателя подсчитайте количество приобретенных им единиц каждого вида товаров. +# Список покупателей, а также список товаров для каждого покупателя нужно выводить в лексикографическом порядке. +# (pythontutor.ru, занятие 11, «Продажи») diff --git a/week04/zelenova_week04/zelenova_week04n2.py b/week04/zelenova_week04/zelenova_week04n2.py new file mode 100644 index 0000000..98029ea --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n2.py @@ -0,0 +1,16 @@ +#2. В списке все элементы различны. +# Поменяйте местами минимальный и максимальный элемент этого списка. +# (pythontutor.ru, занятие 7, «Переставить min и max») + +a=[int(s) for s in input().split()] + +def reverce_min_max(a): + '''reverce min max меняет местами минимальный и максимальный элемент в списке, + при условии что все элементы списка различны.''' + x=a.index(max(a)) + y=a.index(min(a)) + a[x], a[y]=min(a),max(a) + + +reverce_min_max(a) +print(' '.join(map(str,a))) \ No newline at end of file diff --git a/week04/zelenova_week04/zelenova_week04n3.py b/week04/zelenova_week04/zelenova_week04n3.py new file mode 100644 index 0000000..30cf143 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n3.py @@ -0,0 +1,14 @@ +#3. Дан список чисел. Посчитайте, сколько в нем пар элементов, равных друг другу. +# Считается, что любые два элемента, равные друг другу образуют одну пару, +# которую необходимо посчитать. (pythontutor.ru, занятие 7, «Количество совпадающих пар») + +a=[int(s) for s in input().split()] +def pairs(a): + '''pairs считает количество пар элементов равных друг другу''' + p=0 + for i in range (len(a)-1): + b=a[i+1:] + n=b.count(a[i]) + p+=n + print('элементы списка образуют',p,'пар') +pairs(a) diff --git a/week04/zelenova_week04/zelenova_week04n4.py b/week04/zelenova_week04/zelenova_week04n4.py new file mode 100644 index 0000000..a26af01 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n4.py @@ -0,0 +1,14 @@ +#4. Дан список. Выведите те его элементы, которые встречаются в списке только один раз. +# Элементы нужно выводить в том порядке, в котором они встречаются в списке. (pythontutor.ru, занятие 7, «Уникальные элементы») + +a=input().split() +def uniq(a): + '''создает новую последовательность, включающие лишь те элементы, + что встречались в исходной последовательности один раз''' + uniq_a=[] + for symbol in a: + if a.count(symbol) == 1: + uniq_a.append(symbol) + print(uniq_a) + +uniq(a) \ No newline at end of file diff --git a/week04/zelenova_week04/zelenova_week04n5.py b/week04/zelenova_week04/zelenova_week04n5.py new file mode 100644 index 0000000..521abd2 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n5.py @@ -0,0 +1,7 @@ +#5. Даны два списка чисел. Найдите все числа, которые входят как в первый, так и во второй список +# и выведите их в порядке возрастания (pythontutor.ru, занятие 10, «Пересечение множеств») +a=[int(s) for s in input().split()] +b=[int(s) for s in input().split()] +c=sorted(list(set(a)&set(b))) + +print(' '.join(map(str,c))) diff --git a/week04/zelenova_week04/zelenova_week04n6.py b/week04/zelenova_week04/zelenova_week04n6.py new file mode 100644 index 0000000..2442de7 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n6.py @@ -0,0 +1,11 @@ +# Во входной строке записана последовательность чисел через пробел. +# Для каждого числа выведите слово YES (в отдельной строке), +# если это число ранее встречалось в последовательности или NO, если не встречалось. +#(pythontutor.ru, занятие 10, «Встречалось ли число раньше») + +a=[int(s) for s in input().split()] +for i in range (len(a)): + if i==a.index(a[i]): + print('NO') + else: print('YES') + diff --git a/week04/zelenova_week04/zelenova_week04n7.py b/week04/zelenova_week04/zelenova_week04n7.py new file mode 100644 index 0000000..273af94 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n7.py @@ -0,0 +1,12 @@ +#7. Дан текст: в первой строке записано число строк, далее идут сами строки. +# Определите, сколько различных слов содержится в этом тексте. +# Словом считается последовательность непробельных символов идущих подряд, +# слова разделены одним или большим числом пробелов или символами конца строки. +# (pythontutor.ru, занятие 10, «Количество слов в тексте») +n=int(input()) +c=set() +for i in range (n): + b=set(input().split()) + c.update(b) +print(len(c)) + diff --git a/week04/zelenova_week04/zelenova_week04n8.py b/week04/zelenova_week04/zelenova_week04n8.py new file mode 100644 index 0000000..ef82388 --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n8.py @@ -0,0 +1,15 @@ +#8. Вам дан словарь, состоящий из пар слов. Каждое слово является синонимом к парному ему слову. +# Все слова в словаре различны. Для слова из словаря, записанного в последней строке, определите его синоним. +# (pythontutor.ru, занятие 11, «Словарь синонимов») +n=int(input()) +sinom= dict(input().split() for k in range(n)) +word = input() +try: + if sinom.get(word) !=-1: + print(sinom[word]) +except KeyError: + for i in sinom: + if sinom[i]==word: + print(i) + + diff --git a/week04/zelenova_week04/zelenova_week04n9.py b/week04/zelenova_week04/zelenova_week04n9.py new file mode 100644 index 0000000..2b97f4d --- /dev/null +++ b/week04/zelenova_week04/zelenova_week04n9.py @@ -0,0 +1,23 @@ +#9. Дан текст: в первой строке задано число строк, далее идут сами строки. +# Выведите слово, которое в этом тексте встречается чаще всего. +# Если таких слов несколько, выведите то, которое меньше в лексикографическом порядке. +# (pythontutor.ru, занятие 11, «Самое частое слово») + +n=int(input()) +words=[] +oftwords=set() +for k in range(n): + words+=(input().split()) + +dict={} +for i in range (len(words)): + if words[i] not in dict: + dict[words[i]] = 1 + else: + dict[words[i]] += 1 +m=max(list(dict.values())) +for i in dict: + if dict[i]==m: + oftwords.add(i) +print(min(oftwords)) +