From 2f4e4d1949b45f6f2c44249172764c2ef41e1b98 Mon Sep 17 00:00:00 2001 From: sawk Date: Sat, 19 Jan 2019 00:32:42 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=203=20=D0=B4=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B8=D1=85?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B5=20easy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson01/home_work/hw01_easy.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/lesson01/home_work/hw01_easy.py b/lesson01/home_work/hw01_easy.py index f927b0b06..0bd47e389 100644 --- a/lesson01/home_work/hw01_easy.py +++ b/lesson01/home_work/hw01_easy.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Наринян Александр Игоревич' # Задача-1: Дано произвольное целое число (число заранее неизвестно). # Вывести поочередно цифры исходного числа (порядок вывода цифр неважен). @@ -7,8 +7,13 @@ # * постарайтесь решить задачу с применением арифметики и цикла while; # * при желании решите задачу с применением цикла for. -# код пишем тут... - +a = input('введите n-значное число: ') +b = list(a,) +p = len(b) +i = 0 +while i= 18 : + print('Доступ разрешен') +else: + print ('Извините, пользование данным ресурсом только с 18 лет') \ No newline at end of file From bd9ff8da3fb0504c7147fabe4dd1c0d5558c7d96 Mon Sep 17 00:00:00 2001 From: sawk Date: Sat, 19 Jan 2019 00:35:29 +0300 Subject: [PATCH 2/4] =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B4=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B5=D0=B5=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B0=20normal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson01/home_work/hw01_normal.py | 33 ++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index 991724e9a..f47271cbd 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Наринян Александр Игоревич' # Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа. # Например, дается x = 58375. @@ -10,6 +10,17 @@ # * постарайтесь решить задачу с применением арифметики и цикла while; # * при желании и понимании решите задачу с применением цикла for. +a = input('введите n-значное число') +b = list(a,) +n = len(b) +i = 0 +while i<(n-1): + if b[i]b[i+1] : + b[i+1] = b[i] + i = i+1 +print(b[n-1]) # Задача-2: Исходные значения двух переменных запросить у пользователя. # Поменять значения переменных местами. Вывести новые значения на экран. @@ -18,6 +29,11 @@ # * постарайтесь сделать решение через действия над числами; # * при желании и понимании воспользуйтесь синтаксисом кортежей Python. +per1 = input('введите значение первой переменной: ') +per2 = input('введите значение второй переменной: ') +per1 = per1 + per2 +print('значение первой переменной изменилось на : ',per1[len(per1)-len(per2):len(per1)]) +print ('значение первой переменной изменилось на : ', per1[0:len(per1)-len(per2)]) # Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида # ax² + bx + c = 0. @@ -25,3 +41,18 @@ # Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math: # import math # math.sqrt(4) - вычисляет корень числа 4 + +import math +a=int(input('введите a из уравнения ax**2 + bx +c=0: ')) +b=int(input('введите b из уравнения ax**2 + bx +c=0: ')) +c= int(input('введите c из уравнения ax**2 + bx +c=0: ')) +d=b**2 - 4*a*c +if d>0: + x1 = (-b + math.sqrt(d))/(2*a) + x2 = (-b - math.sqrt(d))/(2*a) + print ('x1 =', x1, 'x2 = ', x2) +elif d==0: + x1 = -b/(2*a) + print('x1=x2', x1) +else: + print('уравнение не имеет корней') \ No newline at end of file From 45afab83eb7208f3ac2dd391871435794910ab37 Mon Sep 17 00:00:00 2001 From: sawk Date: Sat, 19 Jan 2019 00:36:24 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B4=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B5=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B5=20hard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson01/home_work/hw01_hard.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lesson01/home_work/hw01_hard.py b/lesson01/home_work/hw01_hard.py index 7df268664..e3fe1b843 100644 --- a/lesson01/home_work/hw01_hard.py +++ b/lesson01/home_work/hw01_hard.py @@ -14,3 +14,12 @@ # если точно известно, что её значение не изменялось? # Подсказка: это значение точно есть ;) + +a = float('inf') +a==a**2 +if True : + a==a*2 + if True: + a>999999 + if True: + print('задача решена!') \ No newline at end of file From 3d71319d7a0022ee31d7d5cb3ba74fb97986f63c Mon Sep 17 00:00:00 2001 From: sawk Date: Fri, 25 Jan 2019 15:10:33 +0300 Subject: [PATCH 4/4] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B4=D0=B7=20=D0=B4=D0=BB=D1=8F=20=D1=83=D1=80=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes lesson01/.DS_Store | Bin 0 -> 6148 bytes lesson02/.DS_Store | Bin 0 -> 6148 bytes lesson02/home_work/.DS_Store | Bin 0 -> 6148 bytes lesson02/hw02_easy.py | 88 +++++++++++++++++++++++ lesson02/hw02_hard.py | 87 +++++++++++++++++++++++ lesson02/hw02_normal.py | 133 +++++++++++++++++++++++++++++++++++ 7 files changed, 308 insertions(+) create mode 100644 .DS_Store create mode 100644 lesson01/.DS_Store create mode 100644 lesson02/.DS_Store create mode 100644 lesson02/home_work/.DS_Store create mode 100644 lesson02/hw02_easy.py create mode 100644 lesson02/hw02_hard.py create mode 100644 lesson02/hw02_normal.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..10eb6cd004c965a4c3feae0741cee41468b7e89e GIT binary patch literal 6148 zcmeH~O>5LZ7{_PYRVP{02!a(n42XEyLt<>p9)z%M1wl|uu?Jta2?=f>&Xi5Ii>_OO zAHciy>dW^~FMb03BHn%GWkYwPHx(=MEHnRS=9wp(`N7O&5JI>&N<4%dgb;xuv}Hr} z6BBV!8n&c+TA)}ygCmAquyvIV(o8pp4Wa9-_O!<-#Nd*Ss7(4 z9m?b^Nnyytos1=X+~Xsb6!JNt3J_uutM9B#CVscupOvG>Gpr5Z`7XEW2&B z&$O+16n*ECp1@9)l!NV*ZRP2H%I*wrM`fx={RTQmiId9#SJSMC`Kul3`|ct!a`EcT zdyhviUmd=A`|kaRkDpXp4egw2*Y#)c8c-IX)q{<5%n0bELfXgdz0K6Ov?~31pX@mxV0H>_Fzi- zY;84>9v1&TC?QQ?3FS}Uc{17!C$adJvXc58i|oJ*d=OTI^!oNV|2>TG`joH}VO5 z9cPkMl;nV&NZ==4BF!~zZ_Tyn%tG$WBLUD0vS;~?ut(Go=p3Z_a zOh?0JI5?x;QJD53XCG_b|FFa8B<^PI^7_6`(lAcC15+G#x|ni)8Ydl{HT5Xz49z%! z4M^!puU)Q;$6Jj?Rn;5yNmY$^cWYI(y|pu$cyeR2zIS+ebN?`YoIE{Seg%GtM%Elo z;RTIvmUpUu%q?OBMc7hATPoZWL)dckE0^ax%q`k-5N2i^$IUF<3q_dO z(XUK82;U;N%m6d+m4OA@Ez|vf@bmlsYZ3RD0cK#X7!bu)&}!n6+}%2}IJ#>U>Ln@( o<>eMXO3*M@G3L@$TtPL0enkeN?=ZKB9u)o&Ff?$(4E!kr??5wC)&Kwi literal 0 HcmV?d00001 diff --git a/lesson02/.DS_Store b/lesson02/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..60258a881e715e9d428d7fe7a112865a164dc23d GIT binary patch literal 6148 zcmeHK&2G~`5S~rbViO6u5{DvjScwCd9D+>Ss})*KNFZF%13#&at;VYBt!$@0M3JmM zKp&vJ^79_RL+~Qpnc3YUP{Os1su^ka8_mv)z29299sm%-N%9210{{n=u;b#eKxm$H zPCC}Jf+%#25j3Engrm5bi)P0%GC+Ih!Weh$7*hCa|EiNXS2521icj*ast1FgqO;On zUAyDBcYAK{UeA3Wj#U%ZQ9Y@KQ91G+hFOxvQMsQb^>{BWcJuT!Enb!{qBx`-X8SjQ-5nVa~5l}Nk_l5ae>9wph*W|n-5{1 zENq7&^wY7v)ZrikgFG?=%)q}4Q16H0(fz;s|NdVG@xTl)1Gkd_(cKAmhPXC+x6ZAS w?pld@fJ#Dft-(JjXy~gLW9cg1K-GeNNd{tIu{DSu6#fy=H1NO-Tq^^=0bG`9ga7~l literal 0 HcmV?d00001 diff --git a/lesson02/home_work/.DS_Store b/lesson02/home_work/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T020}'.format(spisok[i], b[i])) + +# Задача-2: +# Даны два произвольные списка. +# Удалите из первого списка элементы, присутствующие во втором списке. + +spisok1 = input('введите любые значения через пробел: ').split() +spisok2 = input('введите любые значения через пробел: ').split() +i = 0 +while i<=(len(spisok1)): + n = 0 + while n<=(len(spisok2)-1): + if not spisok1: + break + else: + if spisok1[i-1] == spisok2[n]: + p = spisok1[i-1] + spisok1.pop(i-1) + #print('i = ', i, 'n = ', n, spisok1, 'удаленный элемент: ', p) #видим какие эллементы удалены + i =0 + n = n+1 + i = i + 1 +print(spisok1) + +#2й вариант с применением for + +spisok1 = input('введите любые значения через пробел: ').split() +spisok2 = input('введите любые значения через пробел: ').split() +for i in spisok1: + for n in spisok2: + if not spisok1: + break + else: + if i == n: + k = spisok1.index(i) + spisok1.pop(k) +print(spisok1) + + +# Задача-3: +# Дан произвольный список из целых чисел. +# Получите НОВЫЙ список из элементов исходного, выполнив следующие условия: +# если элемент кратен двум, то разделить его на 4, если не кратен, то умножить на два. + +spisok1 = input('введите произвольный список из целых чисел: ').split() +spisok2 = spisok1 +i = 0 +a = 0 +while i0: + if b <= 12 and b>0: + if c>=1 and c<=9999: + print('date = ', data[0],'.',data[1],'.',data[2], sep ='') + else: + print('дата введена неправильно') + else: + print('дата введена неправильно') + else: + print('дата введена неправильно') + else: + print('дата введена неправильно') + else: + print('дата введена неправильно') +else: + print('дата введена неправильно') + + +# Задание-3: "Перевёрнутая башня" (Задача олимпиадного уровня) +# +# Вавилонцы решили построить удивительную башню — +# расширяющуюся к верху и содержащую бесконечное число этажей и комнат. +# Она устроена следующим образом — на первом этаже одна комната, +# затем идет два этажа, на каждом из которых по две комнаты, +# затем идёт три этажа, на каждом из которых по три комнаты и так далее: +# ... +# 12 13 14 +# 9 10 11 +# 6 7 8 +# 4 5 +# 2 3 +# 1 +# +# Эту башню решили оборудовать лифтом --- и вот задача: +# нужно научиться по номеру комнаты определять, +# на каком этаже она находится и какая она по счету слева на этом этаже. +# +# Входные данные: В первой строчке задан номер комнаты N, 1 ≤ N ≤ 2 000 000 000. +# +# Выходные данные: Два целых числа — номер этажа и порядковый номер слева на этаже. +# +# Пример: +# Вход: 13 +# Выход: 6 2 +# +# Вход: 11 +# Выход: 5 3 \ No newline at end of file diff --git a/lesson02/hw02_normal.py b/lesson02/hw02_normal.py new file mode 100644 index 000000000..041e4fe18 --- /dev/null +++ b/lesson02/hw02_normal.py @@ -0,0 +1,133 @@ +# Задача-1: +# Дан список, заполненный произвольными целыми числами, получите новый список, +# элементами которого будут квадратные корни элементов исходного списка, +# но только если результаты извлечения корня не имеют десятичной части и +# если такой корень вообще можно извлечь +# Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2] +import math +spisok1 = input ('введите произвольные целые числа через пробел: ').split() +spisok2 = spisok1 +i = 0 +p = 0 + +while i<=(len(spisok2)-1): + a = int(spisok1[i]) + if a>=0: + spisok2[i] = math.sqrt(a) + else: + spisok2.pop(i) + i= i-1 + i = i + 1 + +while p <= (len(spisok2) - 1): + if spisok2[p] - int(spisok2[p]) == 0 : + spisok2[p] = int(spisok2[p]) + else: + spisok2.pop(p) + p = p - 1 + p = p + 1 +print(spisok2) + +#через for + +import math +spisok1 = input ('введите произвольные целые числа через пробел: ').split() +spisok2 = [] +spisok3 = [] + +for i in spisok1: + i = int(i) + if i>=0: + a = math.sqrt(i) + spisok2.append(a) + +for n in spisok2: + if n - int(n) == 0: + spisok3.append(n) +print(spisok3) + + +# Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013. +# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года. +# Склонением пренебречь (2000 года, 2010 года) + +data = input('введите дату в формате dd.mm.yyyy: ').split('.') +chislo = {'01':'первое', '02':'второе','03':'третье','04':'четвертое', '05':'пятое', '06':'шестое', '07':'седьмое', '08':'восьмое', '09':'девятое', '10':'десятое', '11':'одиннадцатое', '12':'двенадцатое', '13':'тринадцатое', '14':'четырнадцатое', '15':'пятнадцатое', '16':'шестандцатое', '17':'семнадцатое', '18':'восемьнадцатое', '19':'девятнадцатое', '20':'двадцатое', '21':'двадцать первое', '22':'двадцать второе', '23':'двадцать третье', '24':'двадцать четвертое', '25':'двадцать пятое', '26':'двадцать шестое', '27':'двадцать седьмое', '28':'двадцать восьмое','29':'двадцать девятое','30':'тридцатое','31':'тридцать первое'} +mec = {'01':'января','02':'февраля','03':'марта','04':'апреля','05':'мая','06':'июня', '07':'июля','08':'августа','09':'сентября','10':'октября','11':'ноября','12':'декабря'} +a=data[0] +b=data[1] +if int(a) > 31: + print('такое число не существует') + exit() +if int(b) > 12: + print ('такого месяца не существует') + exit() +print('{} {}'.format(chislo[a],mec[b]), data[2],'года') + + + +# Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами +# в диапазоне от -100 до 100. В списке должно быть n - элементов. +# Подсказка: +# для получения случайного числа используйте функцию randint() модуля random + +import random +spisok = input('введите величину списка:') +otvet =list() +n=int(spisok) +i=0 +while i<=n: + a=random.randint(-100,100) + otvet.append(a) + i=i+1 +print(otvet) + +#с помощью for + +import random +spisok = input('введите величину списка:') +otvet =list() +n=int(spisok) +for i in range(0,n): + a=random.randint(-100,100) + otvet.append(a) +print(otvet) + +# Задача-4: Дан список, заполненный произвольными целыми числами. +# Получите новый список, элементами которого будут: +# а) неповторяющиеся элементы исходного списка: +# например, lst = [1, 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 2, 4, 5, 6] +# б) элементы исходного списка, которые не имеют повторений: +# например, lst = [1 , 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 4, 6] + +lst = [1,2,4,5,6,2,5,2] +lst1 = lst +i=0 +print ('первоначальный список: ') +print(lst) +lst1.sort() +while i<=(len(lst1)-1): + if lst1[i-1]==lst1[i]: + lst1.pop(i) + i=i-1 + i=i+1 +print () +print ('список без повторов: ') +print(lst1) +i=0 +n=1 +lst = [1,2,4,5,6,2,5,2] +lst2 = lst +print () +while i<=(len(lst2)-1): + a = lst2[i] + b = lst2.count(a) + c = int(b) + if c>1: + while n<=c: + lst2.remove(a) + n=n+1 + n=1 + i=i+1 +print ('список уникальных эллементов') +print(lst2) \ No newline at end of file