Similar presentations:
Строки. Задание 24
1.
Задание_24Шабалдина Н.В.
2.
СТРОКИЗадание_1(демо_версия). Текстовый файл состоит не более чем из 106
символов X, Y и Z. Определите максимальное количество идущих подряд
символов, среди которых каждые два соседних различны. Для выполнения
этого задания следует написать программу.
f=open('24.txt') # открыть файл для чтения
s = f.readline()
# читает одну целую строку из файла
m_d =d = 1
# m_d-максимальная длина, d-длина текущей строки
for i in range(1, len(s)): #len(s) возвращает длину строки
if s[i] != s[i - 1]:
#!= не равно
d += 1
if d > m_d:
m_d = d
else:
d=1
print(m_d)
ОТВЕТ: 35
3.
f=open('24.txt')m_d =d = 1
for line in f:
#Ещё один способ сделать это - прочитать файл построчно
for i in range(len(line)-1):
if line[i] != line[i - 1]:
d += 1
if d > m_d:
m_d = d
else:
d=1
print(m_d)
4.
СтатГрад от 22.10.2021Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки
содержат только заглавные буквы латинского алфавита (ABC…Z). Определите количество строк, в которых
буква E встречается чаще, чем буква A.(файл состоит из отдельных строк) ОТВЕТ:467
f=open('24.txt')
ka=0
ke=0
k=0
for line in f:
ka=0
ke=0
for a in line:
if a=='A':
ka+=1
elif a=='E':
ke+=1
if ke>ka:
k+=1
print (k)
5.
СтатГрад от 10.12.2021Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите символ, который чаще всего встречается в файле сразу после буквы A.
Например, в тексте ABCAABADDD после буквы A два раза стоит B, по одному разу –
A и D. Для этого текста ответом будет B.
f=open ('24.txt')
#ord(‘A’)=65 возвращает код буквы,
b=[0]*26
# chr(65)=‘A’- возвращает символ по коду
for line in f:
for i in range(len(line)-1):
if line[i]=='E':
b[ord(line[i+1])-65]+=1
m=0
n=0
for i in range (0,26):
if b[i]>m:
m=b[i]
n=i
print (chr(n+65))
6.
Текстовый файл состоит не более чем из 106 символов К, О, Т. Определитемаксимальное количество подряд идущих комбинаций КОТ. Для выполнения
этого задания следует написать программу.
f = open ('24.txt')
s=f.readline()
k,m,i=0,0,0
while i<len(s)-2:
if s[i:i+3]=='КОТ':
k+=1
i+=3
if k>m:
m=k
else:
i+=1
k=0
print(m)
7.
Текстовый файл состоит не более чем из 106 десятичных цифр. Найдите максимальнуюдлину последовательности, которая состоит из цифр одинаковой четности. Например, в
последовательности 1533244622185452354, 5 последовательностей с нечетными цифрами
– 1533, 1, 5, 5, 35 – и 5 с четными – 244622, 8, 4, 2, 4. Следовательно, искомая
последовательность – 244622. В качестве ответа укажите максимальную длину найденной
последовательности. ОТВЕТ:18
f = open ('24_пример_5.txt')
s=f.readline()
k,m=1,1
for i in range(2,len(s)):
if int(s[i])%2==int(s[i-1])%2:
k+=1
if k>m:
m=k
else:
k=1
print(m)
8.
Текстовый файл состоит не более чем из 106 символов J, O, B, S. Сколько раз встречаютсякомбинации «BOSS» при этом до и после этого слова нет символа «J». Например,
комбинации «JBOSS», «BOSSJ» и «JBOSSJ» не должны учитываться(ответ:2198)
f = open ('24_6.txt')
s=f.readline()
k=1
if s[0:4]=='BOSS' and s[4]!='J':
k+=1
if s[len(s)-4:len(s)]=='BOSS' and s[len(s)-5]!='J':
k+=1
i=1
while i <len(s)-5:
if s[i:i+4]=='BOSS':
if s[i-1]!='J' and s[i+4]!='J':
k+=1
i+=4
else:
i+=5
else:
i+=1
print(k)