Форум » Обработка символьных строк » №4752 (24.189) не сходится ответ » Ответить

№4752 (24.189) не сходится ответ

beep: Здравствуйте! Нужно найти максимальной длины подстроку, в которой нет точек и не более 7 гласных букв (A, E, I, O, U, Y). В ответе 71, у меня получилось 90. [pre2]with open(path + "24-181.txt") as f: for line in f: if line[-1] == "\n": line = line[ : -1] st = 28320 end = 28410 ss = line[st : end] print(len(ss), ss.count("A") + \ ss.count("E") + \ ss.count("I") + \ ss.count("O") + \ ss.count("U") + \ ss.count("Y"), "." in ss) # 7 False[/pre2]

Ответов - 6

Поляков: Уже исправлено, там 90. Вы правы.

AnnaPershina: Подскажите, пожалуйста, в чем ошибка. Выдает 71, а не 90 [pre2] f=open("24-181.txt") s=f.readline() s=s.replace('.',' ') s=s.split() ss=[] for p in s: countA=0 for i in range(len(p)): if p[ i] in 'AEIOUY': countA += 1 if countA == 8: break if 0<countA<=7: ss.append(p) print(len(max(ss,key=len))) [/pre2]

Поляков: AnnaPershina пишет: Подскажите, пожалуйста, в чем ошибка. Пусть между точками, скажем, 100 символов и 8 гласных букв. Вся цепочка не подходит - слишком много гласных. Но ее можно обрезать - останется меньше 100 символов, зато гласных будет 7.


AnnaPershina: И даже в таком решении не сходится ответ [pre2] f=open("24-181.txt") s=f.readline() s=s.replace('.',' ') s=s.replace('A','*') s=s.replace('E','*') s=s.replace('I','*') s=s.replace('O','*') s=s.replace('U','*') s=s.replace('Y','*') s=s.split() ss=[] for p in s: if p.count('*')<=7: ss.append(p) print(len(max(ss,key=len))) [/pre2]

Поляков: Вот цепочка, которая есть в файле (длина 90):[pre2]CXXGKKRXLBEDFXJRXXILIGTBNGLVFRHZCSTXRVOLRZXCJNQGKVAGLKQLZYATGJFTMVVPJWDKPHFHMHCLRHVMXSKCKW[/pre2]

AnnaPershina: Поняла. Спасибо большое.



полная версия страницы