Форум сайта python.su
мне нужно сделать следующее: в данной рандомной строке рандомно расставить пробелы и знаки препинания так чтоб это стало похоже на предложение. За слова считать наборы символов длиной от 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(' ')
Отредактировано FishHook (Фев. 16, 2021 10:21:26)
Офлайн
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)
Офлайн