Найти - Пользователи
Полная версия: Подскажите как лучше превратить рандомную строку в предложение
Начало » Центр помощи » Подскажите как лучше превратить рандомную строку в предложение
1
mr_coder
мне нужно сделать следующее: в данной рандомной строке рандомно расставить пробелы и знаки препинания так чтоб это стало похоже на предложение. За слова считать наборы символов длиной от 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
    
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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB