Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 16, 2021 09:29:36

mr_coder
Зарегистрирован: 2021-02-16
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите как лучше превратить рандомную строку в предложение

мне нужно сделать следующее: в данной рандомной строке рандомно расставить пробелы и знаки препинания так чтоб это стало похоже на предложение. За слова считать наборы символов длиной от 1 до 10. Цифры должны стоять отдельно от букв. Что я имею:

   
import random as rnd
my_str='gk24ZgIpTDNFAiow9IqZ4ShPW0ejMRDKic9FTVXsI6xG1'
letters=''
numbers=''
for symbol in my_str:  #сортирую строку на цифры и буквы
    if symbol.isnumeric():
        numbers+=symbol
    else:
        letters+=symbol
print(numbers,letters)
i=0
words=''
while i<=len(letters): # составляю рандомно "слова" рандомной длины и пишу их в список
    a = rnd.randint(1, 10)
    word= (letters[i:i+a]+' ').lower()
    words+=word
    i+=a
word_list=words.split(' ')
получаю такой список
word_list= ‘gk’, ‘zgipt’, ‘dnfaiowiqz’, ‘shpwejm’, ‘rdkicftvxs’, ‘ix’, ‘g’, ‘'
как из этого списка сделать что-то похожее на предложение из условия? (расставить рандомно знаки препинания, вставить цифры и заглавные буквы в некоторые слова)
почему в полученном списке последний элемент ’'?
Заранее благодарю и прошу не судить строго, это мой 8-ой урок..

Отредактировано FishHook (Фев. 16, 2021 10:21:26)

Офлайн

#2 Фев. 16, 2021 10:39:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Подскажите как лучше превратить рандомную строку в предложение

    
import random
word_list = ['gk', 'zgipt', 'dnfaiowiqz', 'shpwejm', 'rdkicftvxs', 'ix', 'g']
probabilities = [(0.6, ' '), (0.75,  ', '), (0.9, ': '), (1, '; ')]
sentence = []
for word in word_list:
    sentence.append(word)
    chance = random.uniform(0, 1)
    for probability, symbol in probabilities:
        if chance < probability:
            sentence.append(symbol)
            break
print ''.join(sentence)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version