Задание 24. Обработка символьных строк

Рейтинг: 5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

ВАРИАНТ 1

Текстовый файл состоит из символов A, B, C, D и Е. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых символ  встречается не более 3 раз.

Для выполнения этого задания следует написать программу.

Решение и ответ
 f=open('24var01.txt')
p= f.readline()
f.close()

k=0
b=[]

for i in range(len(p)):
    if p[i] == 'A':
        k=1
        for j in range(i+1, len(p)):
            if p[j] == 'A':
                k += 1
            if k == 3:
                b.append(j-i+1)
                break         

print(max(b))

Ответ501

ВАРИАНТ 2

Текстовый файл состоит из символов A, B, C, D и Е. Определите в прилагаемом файле минимальное количество идущих подряд символов, среди которых символ  встречается 35 раз.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var02.txt')
p= f.readline()
f.close()
k=0
b=[]

for i in range(len(p)):
    if p[i] == 'A':
        k=1
        for j in range(i+1, len(p)):
            if p[j] == 'A':
                k += 1
            if k == 35:
                b.append(j-i+1)
                break         

print(min(b))

Ответ40

ВАРИАНТ 3

Текстовый файл состоит из символов A, B, C, D и Е. Определите в прилагаемом файле минимальное количество идущих подряд символов , среди которых комбинация символов  AВ встречается ровно 21 раз.

Для выполнения этого задания следует написать программу.

 

Решение и ответ
f=open('24var03.txt')

p= f.readline()
f.close()
N= float('inf') #верхняя граница минимума

for i in range(1,len(p)):
    if p[i-1]+p[i] == 'AB': #начинаем поиск подпоследовательности со строки АВ 
        k=1 #количество сочетаний АВ 
        n=2 #количество символов
        for j in range(i, len(p)-1):
            n+=1
            if p[j]+p[j+1] == 'AB':
                k += 1
            if k == 21:
                N = min (n, N)
                break         

print(N)

Ответ55

ВАРИАНТ 4

Текстовый файл состоит из символов A, B, C, D и Е. Определите в прилагаемом файле максимальное количество идущих подряд символов , среди которых комбинация AB встречается ровно 21 раз.Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var04.txt')

p= f.readline()
f.close()
N = 0 #нижняя граница максимума

for i in range(len(p)):
    n = 1 #количество символов всего
    k = 0 #количество сочетаний АВ
    for j in range (i+1, len(p)):
        n += 1
        if p[j-1]+p[j] == 'AB': #поиск сочетаний АВ 
            k += 1
        if k == 22:
            N = max(n-1, N) # убираем одну букву из сочетания АВ и ищем максимум
            break          

print(N)

Ответ10007

ВАРИАНТ 5

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ....9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет символов 0, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var05-08.txt')
s= f.readline()
f.close()
s = s.replace('00', '0 0')
s = s.split(' ')

print( max(map(len, s)))     

 Ответ977

ВАРИАНТ 6

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ....9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет трех символов 0, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var05-08.txt')
s= f.readline()
f.close()
m=0

s = s.split('000')
for i in s:
    m = max(m, len(i))   
print (m+4)#добавляем к слову первые 00 и последние 00

или

s = s.replace('000', '00 00')
s = s.split(' ')
print (max (map (len, s)))

Ответ: 7684

ВАРИАНТ 7

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ....9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет символов 1 и 2, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ
f = open('24var05-08.txt')
p = f.readline()
f.close()
m=k=1 #минимальное количество символов в подпоследовательности

for i in range(1,len(p)):
    if not (p[i-1] + p[i] == '12' or p[i-1] + p[i] == '21'): 
        k+=1   
    else:
        m = max (k,m) #запоминаем максимальную длину подпоследовательности
        k = 1

print(m)

или

s = s.replace('12', '1 2')
s = s.replace('21', '2 1')
s = s.split(' ')

print (max (map (len, s)))

Ответ: 532

ВАРИАНТ 8

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ....9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет символов 1 и 2, а также 1 и 3, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ
f = open('24var05-08.txt')
p= f.readline()
f.close()
m=k=1 #минимальное количество элементов в подпоследовательности

for i in range(1,len(p)):
     if not (p[i-1] + p[i] == '12' or p[i-1] + p[i] == '21' or p[i-1] + p[i] == '13' or p[i-1] + p[i] == '31'): 
          k+=1
     else:
        m = max(k,m)
        k = 1

print(m)

или

s = s.replace('12', '1 2')
s = s.replace('21', '2 1')
s = s.replace('13', '1 3')
s = s.replace('31', '3 1')
s = s.split(' ')

print (max (map (len, s)))

Ответ: 339

ВАРИАНТ 9

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, расположенных  в алфавитном порядке (возможно с повторением символов).

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var09-13.txt')
p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i]>= p[i-1]: 
        k+=1
    else:
        m=max(k,m) 
        k=1

print(m)

или

s = s.replace('Y X', 'Y X')
s = s.replace('Z X', 'Z X')
s = s.replace('Z Y', 'Z Y')
s = s.split(' ')
print (max (map (len, s)))

Ответ: 15

ВАРИАНТ 10

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, расположенных  в обратном алфавитном порядке (возможно с повторением символов).

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var09-13.txt')
p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i]<= p[i-1]: 
        k+=1
    else:
        m=max(k,m) 
        k=1

print(m)

Ответ: 19

ВАРИАНТ 11

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых нет символа Z.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var09-13.txt')
p=f.readline()
f.close()
m=k=0 #если Z первая, то длина подпоследовательности равна 0

for i in p:
    if i!='Z': 
        k+=1
    else:
        m=max(k,m)
        k=0

print(m)

Ответ: 34

ВАРИАНТ 12

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых символ Z встречается не более 1 раза.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var09-13.txt')

p=f.readline()
f.close()
m=n=0
a='' #подстрока а
for i in p:
    a+=i
    if i == 'Z':
        n+=1
    if n==2:
        m=max(m,len(a)-1) # максимальное количество символов из текущего значения и длины а
        a = a[a.find('Z')+1:] # удаляем слева все символы, включая первую Z
        n=1 # осталось символов Z в строке

print(m)

Ответ: 43

ВАРИАНТ 13

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых символ Z встречается не более двух раз.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var09-13.txt')
p=f.readline()
f.close()
m=n=0
a='' #подстрока а
for i in p:
    a+=i
    if i == 'Z':
        n+=1
    if n==3:
        m=max(m,len(a)-1) # максимальное количество символов из текущего значения и длины а
        a = a[a.find('Z')+1:] #  удаляем слева все символы, включая первую Z
        n=2 # осталось символов Z в строке

print(m)

Ответ: 50

ВАРИАНТ 14

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, ..., 9). Определите максимальное количество идущих подряд одинаковых цифр.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var14-20.txt')

p=f.readline()
f.close()
m=k=1
for i in range(1,len(p)):
    if p[i-1]== p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 47

ВАРИАНТ 15

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, ..., 9). Определите максимальное количество идущих подряд цифр, среди  которых каждые две соседние различны .

Для выполнения этого задания следует написать программу.

 
Решение и ответ
f=open('24var14-20.txt')

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1]!= p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 120

ВАРИАНТ 16

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, ..., 9). Определите максимальное количество идущих подряд цифр, расположенных в строго возрастающем порядке.

Для выполнения этого задания следует написать программу.

 
Решение и ответ
f=open('24var14-20.txt')

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1] < p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 8

ВАРИАНТ 17

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, ..., 9). Определите максимальное количество идущих подряд цифр, расположенных в строго убывающем порядке.

Для выполнения этого задания следует написать программу.

 
Решение и ответ
f=open('24var14-20.txt')

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1] > p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 7

ВАРИАНТ 18

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, ..., 9). Определите максимальное количество идущих подряд цифр, расположенных в невозрастающем порядке.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var14-20.txt')

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1] >= p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 47

ВАРИАНТ 19

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, ..., 9). Определите максимальное количество идущих подряд цифр, расположенных в неубывающем порядке.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var14-20.txt')

p = f.readline()
f.close()
m = 1
k = 1

for i in range(1,len(p)):
    if p [i-1] <= p [i]:
        k += 1
    else:
        m = max (k,m)
        k = 1

print (m)

Ответ: 49

ВАРИАНТ 20

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, ..., 9). Определите максимальное количество идущих подряд нечетных цифр.

Для выполнения этого задания следует написать программу.

Решение и ответ
f=open('24var14-20.txt')

p=f.readline()
f.close()
m = 0
k = 0
N=['1', '3', '5', '7', '9']

for i in s:
    if  i in N:
        k += 1
    else:
        m = max(k, m)
        k = 0

print (m)

Ответ: 17

Добавить комментарий


РСЯ футер

© 2017 Компьютерный клуб "КОД". Все права защищены.