@God_of_Gods

Комбинирование слов заданой длины Python?

Народ вопрос жизни и смерти ,
есть такой вот код:
import re
Vvod = open('Vvod.txt','r',encoding='utf-8')
Vyvod = open('Vyvod.txt','w',encoding='utf-8')
Vvod = list(Vvod)
for i in range(len(Vvod)):
    if i !=len(Vvod)-1 :
        Vvod[i] = Vvod[i][:-1].split(' ')
    elif i == len(Vvod)-1:
        Vvod[i]=Vvod[i].split(' ')
Vvod_1 = []
for i in range (len(Vvod)):
    for j in range (len(Vvod[i])):
        Vvod_1.append(Vvod[i][j])
nabor_po = []
ne_voshlo = []
dlina = []
a = sorted(Vvod_1,key=len,reverse=True)
print(a)

for i in a:
    dlina.append(len(i))
print(max(dlina),'- мінімальна кіькість символів в рядку')
Slova = []
smena = Vvod_1[0] + ' '
_copy = a.copy()
n = int(input('Кількість символів в строці'))

for j in range (1,len(a)):
    if len(a[j])< (n+1)-len(smena) and len(smena)<(n+1):
        smena+=a[j]+' '
    else:
        Slova.append(smena[:-1])
        smena = ''
Slova.append(smena)




for i in range (len(Slova)):
    Slova[i]=re.sub(' +', ' ', Slova[i])
AA = sorted(Slova, key=len, reverse=True)
new = []
for i in range(len(AA)):
    if AA[i] != ' ':
        new.append(AA[i])

for i in range(len(new)):
    if  new[i][-1]==' ':
        new[i]=new[i][:-1]

for i in range(len(new)):
    if new[i][0] == ' ':
        new[i] = new[i][1:]

# print(AA)
for i in new:
    Vyvod.write(i+'\n')
    print(len(i))

он выполняет такое действие : мы указываем количество символов в строке и он групирует слова
но он не очень нормально выполняет свою работу
с такого текста :Живут грызуны по лесам и полям что они едят эти зверьки грызут зерна и кору деревьев зайцы обгладывают яблони в саду грызуны портят посевы
Утро
Солнце только что встало небо ясное все вокруг блестит как хорошо на свежем воздухе слышишь пение жаворонка звонкий голосок слышен в ясной вышине
Ужи
В сырых местах живут неядовитые змейки у них два желтых пятна на затылке ужи любят воду и хорошо плавают кормятся ужи лягушками и рыбами вы видели ужа не бойтесь его
Белка
Белка бойко лазит по деревьям какая она ловкая на ушах у белки кисточки хвост длинный и пушистый зачем он ей белка прикрывается хвостом от холода он служит ей рулём при прыжках
В цирке
Когда ты был в цирке вспомни яркие афиши и флажки вот жонглёр ловит на лету тарелки фокусник превратил шляпу в букет цветов а вот клоун он смешит людей у него в куртке петух как интересно в цирке
Сова
Вот ночная хищная птица голова у нее круглая клюв крючком когти острые Узнали ее это сова она живет в лесах или на чердаках домов ночью птица ловит мышей

он делает такой :
грызут яблони портят
Солнце только встало
хорошо свежем слышен
местах змейки желтых
рыбами видели ловкая
служит флажки цветов
куртке ночная хищная
мышей едят кору саду
на вы не по на он ей
он ей ты на он ее на
жаворонка лягушками
острые Узнали Живут
небо воду ушах лету
эти что все как Ужи
два ужи ужи ужа его
при был вот вот как
и в в В у и и у и В
интересно деревьев
Сова клюв сова что
нее это она или по
и в а у в в у в

Живут обгладывают
деревьям кисточки
фокусник чердаках
полям зерна зайцы
пение ясной сырых
пятна любят Белка
бойко лазит какая
хвост зачем белка
цирке Когда цирке
афиши ловит шляпу
клоун людей петух
птица когти живет
домов ночью птица
зверьки грызуны
воздухе слышишь
голосок затылке
бойтесь длинный
прыжках вспомни
тарелки круглая, что поменять в коде чтобы он групировал все максимально
ведь остаются строки которые можно добавить
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы