diff --git a/easy_4.py b/easy_4.py new file mode 100644 index 0000000..142c75a --- /dev/null +++ b/easy_4.py @@ -0,0 +1,41 @@ +# Задание-1: +# Дан список, заполненный произвольными целыми числами. +# Получить новый список, элементы которого будут +# квадратами элементов исходного списка +# [1, 2, 4, 0] --> [1, 4, 16, 0] + +import random + +lst= [random.randint(1, 99) for _ in range(7)] + +a = [i**2 for i in lst] + +print("Исходный список ", lst) +print("Новый список ", a) +print() + +# Задание-2: +# Даны два списка фруктов. +# Получить список фруктов, присутствующих в обоих исходных списках. + +fruits = ["банан", "яблоко","апельсин","арбуз", "дыня", "мандарин", "гранат", "грейпфрут", "кумкват", "персик"] +fruits2 = ["груша","персик", "яблоко", "ананас", "виноград", "апельсин", "дыня", "айва", "маракуйя", "арбуз"] + +equal = set.intersection(set(fruits),set(fruits2)) + +print("Идентичные элементы списков", equal) +print() + +# Задание-3: +# Дан список, заполненный произвольными числами. +# Получить список из элементов исходного, удовлетворяющих следующим условиям: +# + Элемент кратен 3 +# + Элемент положительный +# + Элемент не кратен 4 + +lst2= [random.randint(-99, 99) for _ in range(20)] + +b = [i for i in lst2 if i % 3 == 0 and i > 0 and i % 4 != 0] + +print("Исходный список ", lst2) +print("Положительные элементы кратные 3, но не кратные 4: ", b) \ No newline at end of file diff --git a/file.txt b/file.txt new file mode 100644 index 0000000..0959fdc --- /dev/null +++ b/file.txt @@ -0,0 +1 @@ +3536465425511123455988822881693245739614489831822644672389861389653166844492355273229526957124184992887371523738525285555258163378684266512261116818937112995323837773212427518842224141346769396174854965414325951522494558957766521948196295334958894717936872932478374887791128619767572744434645934862649165452336977134227631673153417792674427765177176141451643642499819392156478437237893375771893318565873585395794558633859147513324165411787735248223938335778744523489667866359311859858661741523716416843336944928939773699995977251952665313776533493698245867489575829488965558765231674193157876793974263728643197937454143433918764284998995812581752856397629713476989661613577642991491888645136185485854892719998817924126672487187651453592287311427755727344414732185982227361296861582252317844325638815572786771477776569851391416982646175779923343485386427257242818625774853446126694585268588656798217969433223182662179531698445321818499662738531858585732583559976461867516988414522852741712157327991113862832969926584357654728373468963638351698463585268369963743856822876194341173222885979578329522896531723874351934139838284499896442932374586214495933635431679685553421553897296791252349565155295476317772326512574535912661194577481526779516771841495651959958619245414951781947374843689821423964515393328643891647895261357342773215596879683268346428621944543228655185379384626149135684251151721899189483867994896221336738953323622675418893443767893349369923411473112114354692388279355172737464444929833262914532157559199144476411851486948766641626878778829119265973639275796481691729787135769579441161353558724123313318656592491417386962582414465598761223886458279127321696461972412414797248829889522612932337117627495194399245419734599599446266141332695291216368475659121956923389347556467433672535111916248386376627775415956348171553885219175294954192544377277247326984732621983863194244543692895499851486284877592832433323814789588979874596218314534423244685437243361695945691275531686587244913577553193597724112131782194842999872966771559491738653154689645779692513624158938752854731155793664142249174113241168255414899916537234494323749899746367716826373366986387793311548413173782971313414314769553317789747587248198227979369437939475778915624644631321865747612629482318118642945986617139855644699436419454941271897187699866683934586241923955877722721967561435155538516431379571786479648965838863428575457287731568111836879296843186877376825862451924674681176199466839954521111557424956787837749 \ No newline at end of file diff --git a/norm_4.py b/norm_4.py new file mode 100644 index 0000000..212a365 --- /dev/null +++ b/norm_4.py @@ -0,0 +1,61 @@ +import re +import os +import random + +# Задание-1: +# Вывести символы в нижнем регистре, которые находятся вокруг +# 1 или более символов в верхнем регистре. +# Т.е. из строки "mtMmEZUOmcq" нужно получить ['mt', 'm', 'mcq'] +# Решить задачу двумя способами: с помощью re и без. + +line = 'mtMmEZUOmcqWiryMQhhTxqKdSTKCYEJlEZCsGAMkgAYEOmHBSQsSUHKvSfbmxULaysmNO'\ +'GIPHpEMujalpPLNzRWXfwHQqwksrFeipEUlTLeclMwAoktKlfUBJHPsnawvjPhfgewVzK'\ +'TUfSYtBydXaVIpxWjNKgXANvIoumesCSSvjEGRJosUfuhRRDUuTQwLlJJJDdkVjfSAHqn'\ +'LxooisBDWuxIhyjJaXDYwdoVPnsllMngNlmkpYOlqXEFIxPqqqgAWdJsOvqppOfyIVjXa'\ +'pzGOrfinzzsNMtBIOclwbfRzytmDgEFUzxvZGkdOaQYLVBfsGSAfJMchgBWAsGnBnWete'\ +'kUTVuPluKRMQsdelzBgLzuwiimqkFKpyQRzOUyHkXRkdyIEBvTjdByCfkVIAQaAbfCvzQ'\ +'WrMMsYpLtdqRltXPqcSMXJIvlBzKoQnSwPFkapxGqnZCVFfKRLUIGBLOwhchWCdJbRuXb'\ +'JrwTRNyAxDctszKjSnndaFkcBZmJZWjUeYMdevHhBJMBSShDqbjAuDGTTrSXZywYkmjCC'\ +'EUZShGofaFpuespaZWLFNIsOqsIRLexWqTXsOaScgnsUKsJxiihwsCdBViEQBHQaOnLfB'\ +'tQQShTYHFqrvpVFiiEFMcIFTrTkIBpGUflwTvAzMUtmSQQZGHlmQKJndiAXbIzVkGSeuT'\ +'SkyjIGsiWLALHUCsnQtiOtrbQOQunurZgHFiZjWtZCEXZCnZjLeMiFlxnPkqfJFbCfKCu'\ +'UJmGYJZPpRBFNLkqigxFkrRAppYRXeSCBxbGvqHmlsSZMWSVQyzenWoGxyGPvbnhWHuXB'\ +'qHFjvihuNGEEFsfnMXTfptvIOlhKhyYwxLnqOsBdGvnuyEZIheApGOXWeXoLWiDQNJFa'\ +'XiUWgsKQrDOeZoNlZNRvHnLgCmysUeKnVJXPFIzvdDyleXylnKBfLCjLHntltignbQoiQ'\ + +result = re.findall(r'[qwertyuiopasdfghjklzxcvbnm]+[^QWERTYUIOPASDFGHJKLZXCVBNM]*', line) +print(result) +print() + +# Задание-2: +# Вывести символы в верхнем регистре, слева от которых находятся +# два символа в нижнем регистре, а справа - два символа в верхнем регистре. +# Т.е. из строки +# "GAMkgAYEOmHBSQsSUHKvSfbmxULaysmNOGIPHpEMujalpPLNzRWXfwHQqwksrFeipEUlTLec" +# нужно получить список строк: ['AY', 'NOGI', 'P'] +# Решить задачу двумя способами: с помощью re и без. + +result2 = re.findall(r'[qwertyuiopasdfghjklzxcvbnm][qwertyuiopasdfghjklzxcvbnm]([QWERTYUIOPASDFGHJKLZXCVBNM]+)[QWERTYUIOPASDFGHJKLZXCVBNM][QWERTYUIOPASDFGHJKLZXCVBNM]', line) +print(result2) +print() + +# Задание-3: +# Напишите скрипт, заполняющий указанный файл (самостоятельно задайте имя файла) +# произвольными целыми цифрами, в результате в файле должно быть +# 2500-значное произвольное число. +# Найдите и выведите самую длинную последовательность одинаковых цифр +# в вышезаполненном файле. + +lst3= [random.randint(1, 9) for _ in range(2500)] + +my_file = open("file.txt" , "w") +my_file.writelines("%s" % place for place in lst3) +my_file.close () +my_file = open("file.txt" , "r") +c = str(my_file.readlines ()) +result3 = re.findall(r'0{3,}|1{3,}|2{3,}|3{3,}|4{3,}|5{3,}|6{3,}|7{3,}|8{3,}|9{3,}', c) + +max_len =len(sorted(result3, key=len, reverse = True)[0]) + +print("Самая длинная последовательность одинаковых цифр", max_len) +