ЕГЭ 24 ОБРАБОТКА СТРОК. Withas это контекстный менеджер, в данном случае он открывает указанный файл в режиме чтения второй аргумент r
Скачать 32.82 Kb.
|
ЕГЭ 24 ОБРАБОТКА СТРОК with open("k7.txt", "r") as F: s = F.readline() конструкция with-as – это контекстный менеджер, в данном случае он открывает указанный файл в режиме чтения (второй аргумент «r» при вызове функции open), записывает ссылку на него в файловую переменную F, выполняет тело блока (читает первую строку файла в переменную s) и закрывает (освобождает) файл или f=open('k8-0.txt') s=f.readline() len(s) – определяет количество символов в строке Символы в стоке нумеруются с 0. (Демо-2021).Текстовый файл 24.txt состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны. Для выполнения этого задания следует написать программу. with open( "24.txt", "r" ) as F: s = F.readline() max=1 k=1 for i in range(1, len(s)): if s[i] != s[i-1]: k=k+1 if k > max: max = k else: k = 1 print( max ) ответ 35 (Демо-2022).Текстовый файл 2022.txt состоит из символов P, Q, R и S. Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет идущих подряд символов P. Для выполнения этого задания следует написать программу. f=open('2022.txt') s=f.readline() max=0 k=1 for i in range(0, len(s)-1): if s[i] =='P' and s[i+1]== 'P': k=1 else: k = k+1 if k>max: max=k print( max ) ответ 188 №1 В текстовом файле k7-0.txt находится цепочка из символов латинского алфавита A, B, C. Найдите длину самой длинной подцепочки, состоящей из символов C. f=open('k7-0.txt') s=f.readline() max=0 k=1 for i in range(0, len(s)-1): if s[i] !='C' and s[i+1]!= 'C': k=1 else: k = k+1 if k>max: max=k print( max ) ответ 0 №21 В текстовом файле k7a-1.txt находится цепочка из символов латинского алфавита A, B, C, D, E. Найдите длину самой длинной подцепочки, состоящей из символов A, B или C (в произвольном порядке). f=open('k7a-1.txt') s=f.readline() max=0 k=0 for i in range(0, len(s)): if s[i] =='A' or s[i] =='B' or s[i] =='C': k=k+1 if k>max: max=k else: k = 0 print( max ) Ответ 16 №24 В текстовом файле k7a-4.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите длину самой длинной подцепочки, не содержащей символа D. f=open('k7a-4.txt') s=f.readline() max=0 k=1 for i in range(0, len(s)-1): if s[i]!='D' and s[i+1]!='D': k=k+1 if k>max: max=k else: k = 1 print( max ) ответ 44 №54 В текстовом файле k8-6.txt находится цепочка из символов, в которую могут входить заглавные буквы латинского алфавита A…Z и десятичные цифры. Найдите длину самой длинной подцепочки, состоящей из одинаковых символов. Если в файле несколько подходящих цепочек одинаковой длины, нужно взять первую из них. Выведите сначала символ, из которого строится эта подцепочка, а затем через пробел – длину этой подцепочки. f=open('k8-6.txt') s=f.readline() max=0 k=1 for i in range(0, len(s)-1): if s[i]== s[i+1]: k=k+1 if k>max: max=k b=s[i] else: k = 1 print( b,max ) Ответ 9 5 Файлы скачать № 25 (А.М. Кабанов) В текстовом файле k7a-5.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите длину самой длинной подцепочки, не содержащей символов C и F. f=open('k7a-5.txt') s=f.readline() max=0 k=0 for i in range(0, len(s)): if s[i]!='C' and s[i]!='F': k=k+1 if k>max: max=k else: k = 0 print( max ) ответ 19 № 34 (А.М. Кабанов) В текстовом файле k7c-2.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите количество цепочек длины 3, удовлетворяющих следующим условиям: · 1-й символ – один из A, C, E; · 2-й символ – один из A, D, F, который не совпадает с первым; · 3-й символ – один из A, B, F, который не совпадает со вторым. f=open('k7c-2.txt') s=f.readline() max=0 k=0 for i in range(0, len(s)-2): if (s[i]=='A' or s[i]=='C' or s[i]=='E' ) and ((s[i+1]=='A' or s[i+1]=='D' or s[i+1]=='F' ) and s[i+1]!= s[i] ) and ((s[i+2]=='A' or s[i+2]=='B' or s[i+2]=='F' ) and s[i+2]!= s[i+1] ): k=k+1 print( max ) ответ 891 №37 (А.М. Кабанов) В текстовом файле k7c-5.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите количество цепочек длины 5, в которых соседние символы не совпадают. f=open('k7c-5.txt') s=f.readline() k = 0 for i in range(len(s)-4): if s[i]!=s[i+1] and s[i+1]!=s[i+2] and s[i+2]!=s[i+3] and s[i+3]!=s[i+4]: k += 1 print(k) ответ 4904 №2 В текстовом файле k7-3.txt находится цепочка из символов латинского алфавита A, B, C. Найдите длину самой длинной подцепочки, состоящей из символов C. f=open('k7-3.txt') s=f.readline() k=0 m=0 for i in range (0,len(s)): if s[i]=='C': k=k+1 if k>m: m=k else: k=0 print (m) ответ 1 №23 (А.М. Кабанов) В текстовом файле k7a-3.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите длину самой длинной подцепочки, состоящей из символов A, B, E, F (в произвольном порядке). f=open('k7a-3.txt') s=f.readline() k=0 m=0 for i in range (0,len(s)): if s[i]=='A' or s[i]=='B' or s[i]=='E' or s[i]=='F': k=k+1 if k>m: m=k else: k=0 print (m) Ответ 20 №25 (А.М. Кабанов) В текстовом файле k7a-5.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите длину самой длинной подцепочки, не содержащей символов C и F. f=open('k7a-5.txt') s=f.readline() k=0 m=0 for i in range (0,len(s)): if s[i]!='C' and s[i]!='F': k=k+1 if k>m: m=k else: k=0 print (m) Ответ 19 №28 (А.М. Кабанов) В текстовом файле k7b-2.txt находится цепочка из символов латинского алфавита A, B, C, D, E, F. Найдите максимальную длину цепочки вида DBACDBACDBAC.... (состоящей из фрагментов DBAC, последний фрагмент может быть неполным). f=open('k7b-2.txt') s=f.readline() k=0 m=0 for i in range (0,len(s)): if (s[i]=='D' and k%4==0) or (s[i]=='B' and k%4==1) or (s[i]=='A' and k%4==2) or (s[i]=='C' and k%4==3): k=k+1 if k>m: m=k else: if s[i]=='D': k=1 else: k=0 print (m) Ответ 95 №33 (А.М. Кабанов) В текстовом файле k7c-1.txt находится цепочка из символов латинского алфавита A, B, C, D, E. Найдите количество цепочек длины 3, удовлетворяющих следующим условиям: · 1-й символ – один из символов B, C или D; · 2-й символ – один из символов B, D, E, который не совпадает с первым; · 3-й символ – один из символов B, C, E, который не совпадает со вторым. f=open('k7c-1.txt') s=f.readline() k=0 for i in range (0,len(s)-2): if (s[i]=='B' or s[i]=='C' or s[i]=='D') and ((s[i+1]=='B' or s[i+1]=='D' or s[i+1]=='E') and s[i]!=s[i+1]) and ((s[i+2]=='B' or s[i+2]=='C' or s[i+2]=='E') and s[i+1]!=s[i+2]): k=k+1 print (k) ответ 1280 №52 В текстовом файле k8-0.txt находится цепочка из символов, в которую могут входить заглавные буквы латинского алфавита A…Z и десятичные цифры. Найдите длину самой длинной подцепочки, состоящей из одинаковых символов. Если в файле несколько цепочек одинаковой длины, нужно взять первую из них. Выведите сначала символ, из которого строится эта подцепочка, а затем через пробел – длину этой подцепочки. f=open('k8-0.txt') s=f.readline() k = 1 m=0 for i in range(len(s)-1): if s[i]==s[i+1]: k += 1 if k>m: m=k d=s[i] else: k=1 print(d,m) Ответ 2 3 №72 В текстовом файле k8-0.txt находится цепочка из символов, в которую могут входить заглавные буквы латинского алфавита A…Z и десятичные цифры. Найдите длину самой длинной подцепочки, состоящей из одинаковых символов. Для каждой цепочки максимальной длины выведите в отдельной строке сначала символ, из которого строится эта цепочка, а затем через пробел – длину этой цепочки. f=open('k8-0.txt') s=f.readline() k = 1 m=0 t1=[] t2=[] for i in range(len(s)-1): if s[i]==s[i+1]: k += 1 else: t1.append(k) t2.append(s[i]) k=1 p=max(t1) for i in range(len(t1)): if t1[i]==p: print (t2[i],t1[i]) Ответ 2 3 7 3 7 3 5 3 №77 Текстовый файл k8-1.txt состоит не более чем из 106 символов. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны. f=open('k8-1.txt') s=f.readline() k = 1 m=0 for i in range(len(s)-1): if s[i]!=s[i+1]: k += 1 if k>m: m=k else: k=1 print (m) Ответ 159 №39 В текстовом файле k7-m1.txt находится цепочка из прописных (заглавных) символов латинского алфавита A, B, C. Найдите длину самой короткой подцепочки, состоящей из символов C (C-подцепочки). В ответе через пробел укажите: длину найденной подцепочки (если C-подцепочек нет, то 0), количество C-подцепочек и длину исходной цепочки. f=open('k7-m1.txt ') s=f.readline() s=s+'!' m=0 k=0 t=[] for i in range(0, len(s)-1): if s[i] =='C' and s[i+1] =='C': k=k+1 else: if s[i] =='C' and s[i+1] !='C': t.append(k+1) k = 0 m=m+1 #print( s,t) print( min(t),m) print (len(s)-1) ответ 5 6 126 №41 В текстовом файле k7-m3.txt находится цепочка из прописных (заглавных) символов латинского алфавита A, B, C. Найдите все подцепочки, состоящие из символов C (C-подцепочки) длиной не более четырех. В ответе через пробел укажите: порядковый номер найденной подцепочки (начиная с единицы) при проходе по исходной цепочке слева направо, длину подцепочки и саму подцепочку, заменив в ней, начиная со второго символа «С», большие «С» на «с» строчные (маленькие). Гарантируется, что в исходной цепочке есть C-подцепочки. f=open('k7-m3.txt ') s=f.readline() s=s+'!' k=0 t=[] for i in range(0, len(s)-1): if s[i] =='C' and s[i+1] =='C': k=k+1 else: if s[i] =='C' and s[i+1] !='C': t.append(k+1) k = 0 r=[] for i in range(0, len(t)): if t[i]<5: r.append(t[i]) for i in range(0, len(r)): print (i+1, r[i],"C", end="") for u in range (0,r[i]-1): print ("c",end="") print ("") Ответ 1 4 Cccc 2 3 Ccc 3 1 C 4 2 Cc №43 В текстовом файле k7-m5.txt находится цепочка из прописных (заглавных) символов латинского алфавита A, B, C. В исходной цепочке замените все найденные C-подцепочки на подцепочки, содержащие длину текущей С-подцепочки с последующей текущей C-подцепочкой с замененными символами «С» большими на «с» маленькие. В ответе в трех строчках выведите: 1) количество C-подцепочек; 2) левые 15 символов, пробел и правые 15 символов исходной цепочки; 3) левые 15 символов, пробел и правые 15 символов преобразованной цепочки. f=open('k7-m5.txt ') s=f.readline() s=s+'!' m=0 k=0 t=[] r=[] d='' for i in range(0,len(s)-1): if s[i] =='C' and s[i+1] =='C': k=k+1 else: if s[i] =='C' and s[i+1] !='C': t.append(k+1) r.append(i-k) k = 0 m=m+1 for i in range(0,len(s)-1): if s[i] !='C': d=d+s[i] else: for x in range(0,m): if i==r[x]: p=str(t[x]) d=d+p for j in range(0,t[x]): d=d+s[i] s1='' for i in range(0,len(d)): if d[i] !='C': s1=s1+d[i] else: s1=s1+'c' for i in range(0,15): print (s[i],end="") print(" ",end="") for i in range(len(s)-15,len(s)-1): print (s[i],end="") print ("") for i in range(0,15): print (s1[i],end="") print(" ",end="") for i in range(len(s1)-15,len(s1)): print (s1[i],end="") Ответ 18 AAACCAAABBBCBBB BBBCCCCCCABCCCC AAA2ccAAABBB1cB B6ccccccAB4cccc ЕГЭ 24 - №143 Текстовый файл 24-s1.txt состоит не более чем из 106 заглавных латинских букв (A..Z). Текст разбит на строки различной длины. Определите количество строк, в которых встречается комбинация Z*RO, где звёздочка обозначает любой символ. F=open("24-s1.txt") s = F.readline() str=0 #количество строк while s>0: k=0 #количество символов for i in range(1,len(s)-2): if s[i-1]=="Z" and s[i+1]=="R" and s[i+2]=="O": k=k+1 if k>0: str=str+1 s=F.readline() print(str) ответ 59
|